[PATCH] Revert "drm/i915: Only enable the plane after setting the fb base (pre-ILK)"

Keith Packard keithp at keithp.com
Thu May 12 11:52:29 PDT 2011


This reverts commit 49183b2818de6899383bb82bc032f9344d6791ff.

Franz Melchior:

 This patch introduces a bug on my infamous "Acer Travelmate
 5735Z-452G32Mnss": when KMS takes over, the frame buffer contents
 get completely garbled up on screen, with colored stripes and
 unreadable text (photo on request). Only when X11 is started, the
 screen gets restored again. Closing and re-opening the lid partly
 cures the mess, too: it makes the font readable, though horizontally
 stretched.

---

On Thu, 12 May 2011 18:49:08 +0200, Melchior FRANZ <melchior.franz at gmail.com> wrote:

> * Linus Torvalds -- Tuesday 10 May 2011:
> > But please do test, just to make sure that 39-final is good.
> 
> > Chris Wilson (4):
> >       drm/i915: Only enable the plane after setting the fb base (pre-ILK)
> 
> This patch introduces a bug on my infamous "Acer Travelmate
> 5735Z-452G32Mnss": when KMS takes over, the frame buffer contents
> get completely garbled up on screen, with colored stripes and
> unreadable text (photo on request). Only when X11 is started, the
> screen gets restored again. Closing and re-opening the lid partly
> cures the mess, too: it makes the font readable, though horizontally
> stretched.
> 
> Reverting 49183b2818de6899383bb82bc032f9344d6791ff fixes the
> bug.

It's Whack-a-Mole time! Fix one laptop, break another. We'll pick 'no
regressions' over 'fixes existing bug' today.

 drivers/gpu/drm/i915/intel_display.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 373c2a0..2166ee0 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5154,6 +5154,8 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
 
 	I915_WRITE(DSPCNTR(plane), dspcntr);
 	POSTING_READ(DSPCNTR(plane));
+	if (!HAS_PCH_SPLIT(dev))
+		intel_enable_plane(dev_priv, plane, pipe);
 
 	ret = intel_pipe_set_base(crtc, x, y, old_fb);
 
-- 
1.7.5.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20110512/76b4707b/attachment.pgp>


More information about the dri-devel mailing list