[Intel-gfx] [PATCH] drm/i915: remove plane/cursor/pipe assertions from intel_crtc_disable

2014-07-17 Thread Paulo Zanoni
From: Paulo Zanoni paulo.r.zan...@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.zan...@intel.com
---
 drivers/gpu/drm/i915/intel_display.c | 4 
 1 file changed, 4 deletions(-)

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);
-- 
2.0.0

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: remove plane/cursor/pipe assertions from intel_crtc_disable

2014-07-17 Thread Daniel Vetter
On Thu, Jul 17, 2014 at 11:16:39AM -0300, Paulo Zanoni wrote:
 From: Paulo Zanoni paulo.r.zan...@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.zan...@intel.com

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx