Messages in this thread Patch in this message | | | From | Keith Packard <> | Subject | Re: Regression: Borked display on second output with Intel G45 in 3.0-rc2 | Date | Mon, 06 Jun 2011 13:21:53 -0700 |
| |
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:
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); 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. -- keith.packard@intel.com [unhandled content-type:application/pgp-signature] | |