diff mbox

Regression: Borked display on second output with Intel G45 in 3.0-rc2

Message ID yunaadu1zj2.fsf@aiko.keithp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Keith Packard June 6, 2011, 8:21 p.m. UTC
On Mon, 6 Jun 2011 19:20:06 +0200, Melchior FRANZ <melchior.franz@gmail.com> wrote:

> That's apparently the bug that I've submitted a patch for on 2011/5/31:
> https://lkml.org/lkml/2011/5/31/393
> I assume/hope it's still in someone's queue.

Yeah, we "shouldn't" need to call intel_enable_plane from
i9xx_crtc_mode_set as it is called immediately afterwards from
i9xx_crtc_enable.

In any case, there's a bogus call in ironlake_crtc_mode_set which
clearly belongs in i9xx_crtc_mode_set:

We need to figure out why this call (in i9xx_crtc_mode_set) is required,
but that will require finding hardware that reproduces the bug and
fixing it there.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 81a9059..aa43e7b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4687,6 +4687,7 @@  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);
 
@@ -5217,8 +5218,6 @@  static int ironlake_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);