i915: send D1 opregion notification
authorKristen Carlson Accardi <kristen@linux.intel.com>
Tue, 14 Jan 2014 23:36:15 +0000 (15:36 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 22 Jan 2014 09:34:36 +0000 (10:34 +0100)
The opregion notification for runtime suspend is currently D1, not D3.

Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c

index ca11cc854e78079c26a9e5381fb37178d48ff12a..04f1f02c4019f57873caeb0c70fea14e0816ddeb 100644 (file)
@@ -922,7 +922,15 @@ static int i915_runtime_suspend(struct device *device)
 
        del_timer_sync(&dev_priv->gpu_error.hangcheck_timer);
        dev_priv->pm.suspended = true;
-       intel_opregion_notify_adapter(dev, PCI_D3cold);
+
+       /*
+        * current versions of firmware which depend on this opregion
+        * notification have repurposed the D1 definition to mean
+        * "runtime suspended" vs. what you would normally expect (D3)
+        * to distinguish it from notifications that might be sent
+        * via the suspend path.
+        */
+       intel_opregion_notify_adapter(dev, PCI_D1);
 
        return 0;
 }