[stable] PATCH drm/i915/lvds: ditch ->prepare special case

Luis Henriques luis.henriques at canonical.com
Thu Aug 15 16:28:11 UTC 2013


Haitao Zhang <haitao.zhang at canonical.com> writes:

> This commit fixed the following bug:
>
> https://bugs.launchpad.net/ubuntu/quantal/+source/linux/+bug/1103856
>
> originally affected on Thinkpad M490s laptop with v3.2 kernel,
> the patch also applicable on v3.2.50, v3.4.57 stable kernel and 
> 3.5.y.z extended stable kernel, since it was merged into v3.6 kernel officially.
> the test was based on Ironlake laptop Thinkpad v490s and 
> pre-Ironlake laptop Thinkpad X200 with all the stable kernel listed above.
>
>
> commit 520c41cf2fa029d1e8b923ac2026f96664f17c4b
> Author: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date:   Wed Jul 11 16:27:52 2012 +0200
>
>     drm/i915/lvds: ditch ->prepare special case

Thanks Haitao.  I'm queuing it for the 3.5 kernel.

Cheers,
-- 
Luis


>     
>     LVDS is the first output where dpms on/off and prepare/commit
>     don't perfectly match. Now the idea behind this special case
>     seems to be that for simple resolution changes on the LVDS we
>     don't need to stop the pipe, because (at least on newer chips)
>     we can adjust the panel fitter on the fly.
>     
>     There are a few problems with the current code though:
>     - We still stop and restart the pipe unconditionally, because the
> crtc
>       helper code isn't flexible enough.
>     - We show some ugly flickering, especially when changing crtcs (this
>       the crtc helper would actually take into account, but we don't
>       implement the encoder->get_crtc callback required to make this
> work
>       properly).
>     
>     So it doesn't even work as advertised. I agree that it would be nice
>     to do resolution changes on LVDS (and also eDP) whithout blacking
> the
>     screen where the panel fitter allows to do that. But imo we should
>     implement this as a special case a few layers up in the mode set
> code,
>     akin to how we already detect simple framebuffer changes (and only
>     update the required registers with ->mode_set_base).
>     
>     Until this is all in place, make our lives easier and just rip it
> out.
>     
>     Also note that this seems to fix actual bugs with enabling the lvds
>     output, see:
>     
>
> http://lists.freedesktop.org/archives/intel-gfx/2012-July/018614.html
>     
>     Cc: Takashi Iwai <tiwai at suse.de>
>     Cc: Giacomo Comes <comes at naic.edu>
>     Acked-by: Chris Wilson <chris at chris-wilson.co.uk>
>     Tested-by: Takashi Iwai <tiwai at suse.de>
>     Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html




More information about the kernel-team mailing list