<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [BAT BDW] sporadic WARNING: "Device suspended during HW access" during kms_pipe_crc_basic on pipe B/C"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93699#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [BAT BDW] sporadic WARNING: "Device suspended during HW access" during kms_pipe_crc_basic on pipe B/C"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93699">bug 93699</a>
from <span class="vcard"><a class="email" href="mailto:ville.syrjala@linux.intel.com" title="Ville Syrjala <ville.syrjala@linux.intel.com>"> <span class="fn">Ville Syrjala</span></a>
</span></b>
<pre>I'd say it's the same problem as in <a class="bz_bug_link
bz_status_NEW "
title="NEW - [BAT BYT regression] WARNING "Unclaimed register detected before reading register 0x186500""
href="show_bug.cgi?id=93698">bug #93698</a>, namely that the modeset path
calls intel_pre_plane_update() somewhat unconditionally. A quick glance
suggests that we should just:
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13831,9 +13831,8 @@ static int intel_atomic_commit(struct drm_device *dev,
if (!needs_modeset(crtc->state))
continue;
- intel_pre_plane_update(intel_crtc);
-
if (crtc_state->active) {
+ intel_pre_plane_update(intel_crtc);
intel_crtc_disable_planes(crtc,
crtc_state->plane_mask);
dev_priv->display.crtc_disable(crtc);
intel_crtc->active = false;
@@ -13885,12 +13884,12 @@ static int intel_atomic_commit(struct drm_device
*dev,
hw_check = true;
}
- if (!modeset)
- intel_pre_plane_update(intel_crtc);
-
if (crtc->state->active &&
- (crtc->state->planes_changed || update_pipe))
+ (crtc->state->planes_changed || update_pipe)) {
+ if (!modeset)
+ intel_pre_plane_update(intel_crtc);
drm_atomic_helper_commit_planes_on_crtc(crtc_state);
+ }
if (put_domains)
modeset_put_power_domains(dev_priv, put_domains);
but it's bit of mess all around so it's hard to be sure without more digging.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>