Commit d37ae19a authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter

drm/i915/skl: send opregion_nofify_adapter(PCI_D1) instead of PCI_D3

I was told that the "repurposed D1 definition" is still valid for SKL.
It is BDW that is special due to its hotplug bug, so let's
special-case BDW instead of HSW.

Cc: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent dcddab3a
...@@ -1489,7 +1489,15 @@ static int intel_runtime_suspend(struct device *device) ...@@ -1489,7 +1489,15 @@ static int intel_runtime_suspend(struct device *device)
* FIXME: We really should find a document that references the arguments * FIXME: We really should find a document that references the arguments
* used below! * used below!
*/ */
if (IS_HASWELL(dev)) { if (IS_BROADWELL(dev)) {
/*
* On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
* being detected, and the call we do at intel_runtime_resume()
* won't be able to restore them. Since PCI_D3hot matches the
* actual specification and appears to be working, use it.
*/
intel_opregion_notify_adapter(dev, PCI_D3hot);
} else {
/* /*
* current versions of firmware which depend on this opregion * current versions of firmware which depend on this opregion
* notification have repurposed the D1 definition to mean * notification have repurposed the D1 definition to mean
...@@ -1498,16 +1506,6 @@ static int intel_runtime_suspend(struct device *device) ...@@ -1498,16 +1506,6 @@ static int intel_runtime_suspend(struct device *device)
* the suspend path. * the suspend path.
*/ */
intel_opregion_notify_adapter(dev, PCI_D1); intel_opregion_notify_adapter(dev, PCI_D1);
} else {
/*
* On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
* being detected, and the call we do at intel_runtime_resume()
* won't be able to restore them. Since PCI_D3hot matches the
* actual specification and appears to be working, use it. Let's
* assume the other non-Haswell platforms will stay the same as
* Broadwell.
*/
intel_opregion_notify_adapter(dev, PCI_D3hot);
} }
assert_forcewakes_inactive(dev_priv); assert_forcewakes_inactive(dev_priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment