On Mon, Mar 18, 2013 at 9:59 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Mon, Mar 18, 2013 at 8:35 PM, Stéphane Marchesin stephane.marchesin@gmail.com wrote:
For starters I guess we need:
- drm.debug=0xe dmesg from just before that commit
- same for latest 3.9-rc kernels, presuming it's not broken there
Latest upstream has a minor chance to work better I think since we've improved the pfit handling in the setup and teardown sequence a bit.
Generally lvds has been hit&miss on way too many machines unfortunately with things randomly breaking and getting fixed again (e.g. one of Chris' machines works again with the new code ...). And the commit above doesn't really change much in the code itself but it does change the order (and timing) of the different enable/disable codepaths.
So I did look at the thing a bit, and it triggers the workaround if (INTEL_INFO(dev)->gen < 4 && !intel_check_plane_mapping(crtc)) { which seems to be part of the problem (but not the whole problem as removing that gets me a corrupted display, looks like the second pipe stays enabled then).
Well, that particular piece of lore took a few trials to get right. Can you please attach a drm.debug=0xe dmesg of the entire boot on latest kernels?
Also, anything in particular standing out in intel_reg_dump output on working/broken kernels? -Daniel