On Fri, Feb 11, 2011 at 4:52 AM, Cédric Cano ccano@interfaceconcept.com wrote:
Hi
Here are a couple of patches that enable support for RV730 on big endian architectures. The following items will work :
- KMS
- correct color in framebuffer - interrupts - kms blit - power management
- DDX
- kms enabled - exa - video textures - hardware cursor
For the BE modifications, the AMD Linux Engineering team advised me to focus on :
- make sure all the atombios data table accesses are endian safe
- set the display controller swappers
properly(http://lists.freedesktop.org/archives/dri-devel/2011-January/007486.html)
- make sure the appropriate endian swapper is enabled in the texture and
vertex fetch constants (see SQ_TEX_RESOURCE_WORD* and SQ_VTX_RESOURCE_WORD* regs)
- make sure the shaders are stored in LE order
- make sure shader constant buffers are stored in LE order
- endian swap IH (interrupt handler) packets
- endian swap the CP command buffers
- endian swap WB (write back) buffers
That was me :)
That's what I tried to do and so far, I have KMS and DDX (with EXA) drivers working. Drivers have been tested on a MPC8640 custom design, with a custom graphics board based on E4690 (RV730). I'm using a custom linux distribution with Xorg 7.6 (xf86-video-ati 6.13.2). The latest kernel available for my board is 2.6.35.6 so I haven't tested with upstream kernel.
I'll review and commit your patches this weekend. I'll probably break them up into smaller commits if that's ok with you.
I'd also like to test more the ddx driver in order to check the EXA functions do a correct rendering. Is there a driver framework testing, or some kind of unit test you, ddx driver writers, are using ?
cairo has some tests. Also, rendercheck.
Alex
Regards, Cedric Cano
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel