From patchwork Tue Oct 16 15:33:14 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Precise, SRU] drm/i915: Remove too early plane enable on pre-PCH hardware Date: Tue, 16 Oct 2012 05:33:14 -0000 From: Chris J Arges X-Patchwork-Id: 191822 Message-Id: <507D7E3A.1030502@canonical.com> To: Ubuntu Kernel Team SRU Justification: Impact: Users with an Intel GMA X3000 graphics card experience display corruption when using Precise. This occurs when there is a resolution change. Fix: Commit c7bd4c25650704d4d065eb4ce2a122d2a80ce804 fixes this issue, and is currently in Quantal. Cherry-picking this patch causes the display to work properly even after extensive resolution changes. Testcase: Change resolution repeatedly using xrandr on a computer with the Intel GMA X3000 graphics card. Check for display corruption. BugLink: http://bugs.launchpad.net/bugs/949130 Acked-by: Colin Ian King >From e0ee9beceb24baaadb2675d0bb172afc07cbb073 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 10 Oct 2012 12:25:45 -0500 Subject: [PATCH] drm/i915: Remove too early plane enable on pre-PCH hardware Enabling the plane before we have assigned valid address means that it will access random PTE (often with conflicting memory types) and cause GPU lockups. However, enabling the plane too early appears to workaround a number of bugs in our modesetting code. Cc: Franz Melchior References: https://bugs.freedesktop.org/show_bug.cgi?id=39947 References: https://bugs.freedesktop.org/show_bug.cgi?id=41091 References: https://bugs.freedesktop.org/show_bug.cgi?id=49041 Signed-off-by: Chris Wilson Acked-by: Jesse Barnes Signed-off-by: Daniel Vetter (cherry-picked from c7bd4c25650704d4d065eb4ce2a122d2a80ce804) BugLink: http://bugs.launchpad.net/bugs/949130 Signed-off-by: Chris J Arges --- drivers/gpu/drm/i915/intel_display.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index a1e9eb9..6374be5 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -5192,7 +5192,6 @@ static int i9xx_crtc_mode_set(struct drm_crtc *crtc, I915_WRITE(DSPCNTR(plane), dspcntr); POSTING_READ(DSPCNTR(plane)); - intel_enable_plane(dev_priv, plane, pipe); ret = intel_pipe_set_base(crtc, x, y, old_fb); -- 1.7.9.5