[PATCH] [Quantal](pre-stable)drm/i915/lvds: ditch ->prepare special case

Herton Ronaldo Krzesinski herton.krzesinski at canonical.com
Thu Jan 24 13:49:06 UTC 2013


On Thu, Jan 24, 2013 at 04:46:17PM +0800, Haitao Zhang wrote:
> From 3273adbb6123abdda68695b663b1c4cc97e00fe9 Mon Sep 17 00:00:00 2001
> From: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date: Wed, 11 Jul 2012 16:27:52 +0200
> Subject: [PATCH] [Quantal](pre-stable)drm/i915/lvds: ditch ->prepare special
>  case
> 
> 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

This isn't a pre-stable patch, since Cc: stable was omitted when the
patch was added upstream (first submission with the "more conservative"
diff had Cc to stable though), and as a result it did not and will not
enter in any stable release. So you'll need to send the patch to
stable at vger.kernel.org to ask it to be included on stables.

-- 
[]'s
Herton




More information about the kernel-team mailing list