On Thu, 6 Sep 2012 22:08:32 +0200 Daniel Vetter <daniel.vetter at ffwll.ch> wrote: > Even with the old crtc helper code we should have disabled all > encoders on that pipe by now, and with the new code this would > definitely paper over a bug. We already have the necessary checks > in place in intel_disable_transcoder, so if we accidentally leave > a pch port on, this will be caught. > > Hence just rip this all out. > > Note that up to the patch in this giant modeset series that removes > the LVDS special case to avoid disabling LVDS in the encoder->prepare > callback ("drm/i915/lvds: ditch ->prepare special case"), this was not > the case for all outputs. > > Also note that in > > commit 1b3c7a47f993bf9ab6c4c7cc3bbf5588052b58f4 > Author: Zhenyu Wang <zhenyuw at linux.intel.com> > Date: Wed Nov 25 13:09:38 2009 +0800 > > drm/i915: Fix LVDS stability issue on Ironlake > > this was already discovered independently and worked around. How I > bloody hate this entire mess of cludges piled on top of other cludges. Yes this was always an ugly layering violation too. I think I was worried about a mode set on one crtc getting stale config bits from another that hadn't been touched... Anyway now we've fixed it properly. Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org> -- Jesse Barnes, Intel Open Source Technology Center