drm/i915: do adapter power state notification at runtime PM
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 6 Dec 2013 22:34:21 +0000 (20:34 -0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 10 Dec 2013 21:44:00 +0000 (22:44 +0100)
Now that we are actually setting the device to the D3 state, we should
issue the notification.

The opregion spec says we should send the message before the adapter
is about to be placed in a lower power state, and after the adapter is
placed in a higher power state.

Jani originally wrote a similar patch for PC8, but then we discovered
that we were not really changing the PCI D states when
enabling/disabling PC8, so we had to postpone his patch.

v2: - Improve commit message, explaining the expected state.

v3: - Rebase.

Cc: Jani Nikula <jani.nikula@intel.com>
Credits-to: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> (v2)
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.c

index 7d213617029394673425133d23d525b3965df494..2137a33d5bb27fa6bf758e206f339c9086d6bd13 100644 (file)
@@ -915,6 +915,7 @@ static int i915_runtime_suspend(struct device *device)
        DRM_DEBUG_KMS("Suspending device\n");
 
        dev_priv->pm.suspended = true;
+       intel_opregion_notify_adapter(dev, PCI_D3cold);
 
        return 0;
 }
@@ -929,6 +930,7 @@ static int i915_runtime_resume(struct device *device)
 
        DRM_DEBUG_KMS("Resuming device\n");
 
+       intel_opregion_notify_adapter(dev, PCI_D0);
        dev_priv->pm.suspended = false;
 
        return 0;