[PATCH 06/19] drm/i915: do adapter power state notification at runtime PM

Paulo Zanoni
2013-11-27T20:13:56Z

From: Paulo Zanoni <paulo.r.zanoni@intel.com>

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.

Cc: Jani Nikula <jani.nikula@intel.com>
Credits-to: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index d5310a0..6b92929 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -918,6 +918,7 @@ static int i915_runtime_suspend(struct device *device)

dev_priv->pm.suspended = true;

+ intel_opregion_notify_adapter(dev, PCI_D3cold);
pci_save_state(pdev);
pci_set_power_state(pdev, PCI_D3cold);

@@ -936,6 +937,7 @@ static int i915_runtime_resume(struct device *device)

pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
+ intel_opregion_notify_adapter(dev, PCI_D0);

dev_priv->pm.suspended = false;

--
1.8.3.1