Output order on Radeon X1950 [patch]

Jörg Walter jwalt at garni.ch
Tue Oct 21 05:38:38 PDT 2008


I encountered a problem with output order detection in the radeon driver. On 
my X1950 card, outputs are mapped like this:

phys. Connector	AtomBios-index
0				CRT1
1				DFP1
1				CRT2
0				DFP3

Which leads to the situation that merging of outputs reverses the order of 
outputs: CRT1 is merged with DFP3, and CRT2 with DFP1, so that outputs are now 
ordered like this:

1	DFP1 (+CRT2), named "DVI-1"
0	DFP3	(+CRT1), named "DVI-0"

This makes kdm believe "DVI-1" is the primary display, while fglrx, radeonhd 
and Windows all agree on the reverse order. Note that the naming is consistent 
between all drivers. Just the order in which the outputs were created using 
xf86OutputCreate is wrong.

I have modified the merging code in 
RADEONGetATOMConnectorInfoFromBIOSConnectorTable to always use the numerically 
smaller index for the merged entry. It doesn't seem terribly elegent to me, 
but it is correct -- and works.

Since changing the output order changed the names, now I had:

0	CRT1(+DFP3), named "DVI-1"
1	DFP1(+CRT2), named "DVI-0"

This is the correct order, but disagrees on how the other drivers name the 
connectors. So I updated RADEONSetupConnectors to assign names more 
intuitively, including HDMI and VGA. It used to be DVI-1/VGA-1/HDMI-1 for the 
first (n-1) connectors, and ...-0 for the last, which is only correct for <=2 
connectors anyways, and counter-intuitive as well. The new code assigns 
DVI-0/1/... (same HDMI/VGA) in order, for almost arbitrary connector counts.

Attached is my patch. Consider it public domain if licensing is an issue. 
Please be tolerant with it -- I never worked on an X driver before, so should 
I have done any obvious mistakes, feel free to correct them :)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: radeon-output.diff
Type: text/x-patch
Size: 6210 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-driver-ati/attachments/20081021/3d251056/attachment-0001.bin 

More information about the xorg-driver-ati mailing list