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

Daniel Stone daniel at fooishbar.org
Thu Sep 17 16:26:00 PDT 2009


On Thu, Sep 17, 2009 at 11:06:21AM -0500, Donald Kayser wrote:
> 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?

Instead of having the chip swap everything, you could always just use
wfb (call wfbInitScreen instead of fbInitScreen and pass your
preparation methods), and have a handler which did the swapping in
software.

Cheers,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20090918/b4df007d/attachment.pgp 


More information about the xorg-devel mailing list