[PATCH] xf86SetDesiredModes enhancements
Jesse Barnes
jbarnes at virtuousgeek.org
Mon Mar 17 11:17:40 PDT 2008
Ok, I'm hoping this one is good enough since I'd really like to be done with
it. :)
Currently, xf86SetDesiredModes disables all outputs & CRTCs before doing
anything so subsequent modesetting occurs with a known configuration. This
is important since it's called both at startup and EnterVT time typically.
Disabling the outputs & CRTCs has the nasty side-effect of causing flicker on
attached displays, however, so it would be nice if we had a less blunt method
for getting the current config.
So the server part of this patchset adds a new callback, ->get_crtc, to the
xf86OutputFuncs structure. The new xf86GetCurrentConfig routine uses this
callback to build an accurate picture of which CRTCs are mapped to which
outputs (or NULL if the output is currently disabled) and which outputs are
currently active. The call to xf86GetCurrentConfig replaces the output &
CRTC DPMS off calls, which eliminates one set of flicker from the startup &
VT switch code paths.
The Intel part of this patch provides an example of how to use the new
interface, and removes another source of mode setting flicker. Unlike the
last patchset, this version leaves one LVDS off->on cycle in place, due to
the call to xf86DisableUnusedFunctions in the load detection code.
Assuming this looks good, it would be nice to see some reports of testing with
other drivers before I push it.
Thanks,
Jesse
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xserver-randr-get-crtc-config.patch
Type: text/x-diff
Size: 2713 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080317/819b64f3/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: i830-no-flicker-4.patch
Type: text/x-diff
Size: 7307 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080317/819b64f3/attachment-0001.patch>
More information about the xorg
mailing list