xf86-video-chips: pci access byte swapped under powerpc

Donald Kayser xorg at kayser.net
Thu Sep 17 09:06:21 PDT 2009

I have been rewriting the xf86-video-chips to enable independent  
monitors. My system is PPC, and on the C&T 69030 you can configure the  
frame buffer for big endian. What I have discovered is that not only  
does it swap bytes for the frame buffer, but pci configuration is also  
byte swapped, and this causes problems that I am working around.

This is an issue when the mouse pointer moves from one chips's screen  
to the next chip's screen. I have debugged it to the point where the  
code in xf86pciBus.c - initPciState() has shown me what is going on.  
When the mouse moves from on screen to the next, the pci configuration  
is written to - it is disabling the pci config io for one card and  
enabling the pci config io for the next card. Since this data  is now  
swapped, it kills the chip when configuring the pci data.

Since I have two chips on this platform and it is configured for MMIO,  
there is no need to reconfigure the pci configuration. I am looking  
for a way to override the pci access, or at least be notified of  
pending access so that I can set the configuration back to little  
endian until the access is complete.

Any suggestions?

Thanks in advance

Donald Kayser

More information about the xorg-devel mailing list