Intel driver accesses reserved register bit SDVOC/SDVO_DETECTED

garrone pgarrone at optusnet.com.au
Mon Nov 17 14:43:29 PST 2008


Using the intel driver on a GM45 device, with monitors
connected to the TMDS1/2 outputs, it was found that
the xserver was refusing to accept the option 
    option "Monitor-TMDS-2" "<monitor-id>"
and also leaving the second screen rather blank.

Eventually, it was found that at xf86-video-intel::src/i830_driver.c,
function I830SetupOutputs, line 922, the register SDVOC is anded with
the SDVO_DETECTED mask in order to detect if a monitor was connected at
startup. This register bit was clear, causing the screen to be missed.

A careful reading of the intel documentation shows that while this bit
indicates an initially detected connected monitor for SDVOB, 
in fact it is reserved in the SDVOC register, and should therefore be
ignored. 

So to cause the second monitor to be enabled, the
option ForceSDVODetect, false by default, should be set to true.
Perhaps consideration could be given to defaulting this option to true,
or even ignoring such initialization bits as SDVO_DETECTED altogether.

Cheers.



More information about the xorg mailing list