On Wed, Jul 11, 2012 at 04:27:52PM +0200, Daniel Vetter wrote: > 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> > Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch> I've merged this with Chris' irc-ack (under the condition that the modeset-rework leads to reinstated lvds fastpath that actually works eventually). I've stalled a bit for tested-bys from Takashi, but he seems to be awol atm. -Daniel -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48