]> Git Repo - linux.git/commitdiff
drm/nouveau: Pause between setting gpu to D3hot and cutting the power
authorLukas Wunner <[email protected]>
Sun, 19 Apr 2015 15:18:01 +0000 (17:18 +0200)
committerDave Airlie <[email protected]>
Fri, 26 Jun 2015 00:26:37 +0000 (10:26 +1000)
On the MacBook Pro, power of the gpu is cut by a gmux chip. Sometimes
the gpu gets stuck in powersaving mode and refuses to wake up
("Refused to change power state, currently in D3"). Inserting a
delay between setting the gpu to D3hot and cutting the power seems
to help (most of the time). This issue and its (partial) remediation
by the patch was observed with an Nvidia GT650M (NVE7 / GK107).

Signed-off-by: Lukas Wunner <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
drivers/gpu/drm/nouveau/nouveau_drm.c

index 89049335b7383a12749e3d0e2f55f00be81598d4..649024d4daf1da6e5aa1e074e303ba02ec312de0 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 #include <linux/console.h>
+#include <linux/delay.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/pm_runtime.h>
@@ -666,6 +667,7 @@ nouveau_pmops_suspend(struct device *dev)
        pci_save_state(pdev);
        pci_disable_device(pdev);
        pci_set_power_state(pdev, PCI_D3hot);
+       udelay(200);
        return 0;
 }
 
This page took 0.061783 seconds and 4 git commands to generate.