2011-05-31 18:13:19

by Melchior FRANZ

[permalink] [raw]
Subject: [PATCH] drm/i915: add missing intel_enable_plane() call to i9xx_crtc_mode_set()

From: Melchior FRANZ <[email protected]>

Fix garbled up virtual linux console on Acer TM 5735Z-452G32Mnss
(colored stripes, unreadable text) by adding the intel_enable_plane()
call also to i9xx_crtc_mode_set(), which didn't inherit it from
intel_crtc_mode_set() like its twin ironlake_crtc_mode_set().

Signed-off-by: Melchior FRANZ <[email protected]>
---

The bug was originally introduced with 49183b2818 and fixed with
982b2035d9, but re-introduced by a recent drm/i915 branch merge.


diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index f553ddf..5d20579 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4735,6 +4735,8 @@ static int i9xx_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);