<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [BAT][BYT] kms_pipe_crc_basic@suspend-read-crc-pipe-a *ERROR* dp_aux_ch not done status 0x00050000"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98040#c5">Comment # 5</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [BAT][BYT] kms_pipe_crc_basic@suspend-read-crc-pipe-a *ERROR* dp_aux_ch not done status 0x00050000"
href="https://bugs.freedesktop.org/show_bug.cgi?id=98040">bug 98040</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>One hole is that we disable drm_kms_helper before we turn off the hpd init_work
- that is the init_work can fire and re-enable the drm_kms_helper during
suspend.
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 89d322215c84..7bb08c503f75 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1416,8 +1416,6 @@ static int i915_drm_suspend(struct drm_device *dev)
* properly. */
intel_display_set_init_power(dev_priv, true);
- drm_kms_helper_poll_disable(dev);
-
pci_save_state(pdev);
error = i915_gem_suspend(dev);
@@ -1430,11 +1428,12 @@ static int i915_drm_suspend(struct drm_device *dev)
intel_guc_suspend(dev);
intel_display_suspend(dev);
-
intel_dp_mst_suspend(dev);
intel_runtime_pm_disable_interrupts(dev_priv);
+
intel_hpd_cancel_work(dev_priv);
+ drm_kms_helper_poll_disable(dev);
intel_suspend_encoders(dev_priv);</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>