Message ID | 1405606599-3248-1-git-send-email-przanoni@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jul 17, 2014 at 11:16:39AM -0300, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > Since we merged runtime PM support for DPMS, it is possible that these > assertions will be called when the power wells are disabled but a mode > is "set", resulting in "failed assertion" and "device suspended while > reading register" WARNs. > > To reproduce the bug: disable all screens using mode unset, do a > modeset on one screen, disable it using DPMS, then try to do a mode > unset on it again to see the WARNs. > > v2: The first version of this patch changed the assertions to also > check the power domains. Daniel suggested that it would be better to > just remove the assertions: "The modeset state checker > will already notice when we've failed to turn off the pipe. And we > check cursors and plane state in the enable sequence, too. Since we > use these asserts a lot to lock down the precise modeset sequence I > actually prefer if they're a bit dumb and don't check the power > wells." > > Testcase: igt/rpm_rpm/dpms-mode-unset-lpsp > Testcase: igt/rpm_rpm/dpms-mode-unset-non-lpsp > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Queued for -next, thanks for the patch. -Daniel
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index cb40a94..f4ef59e 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -4930,10 +4930,6 @@ static void intel_crtc_disable(struct drm_crtc *crtc) intel_crtc_update_sarea(crtc, false); dev_priv->display.off(crtc); - assert_plane_disabled(dev->dev_private, to_intel_crtc(crtc)->plane); - assert_cursor_disabled(dev_priv, pipe); - assert_pipe_disabled(dev->dev_private, pipe); - if (crtc->primary->fb) { mutex_lock(&dev->struct_mutex); intel_unpin_fb_obj(old_obj);