On 9/03/2010, at 5:41 AM, Alex Deucher wrote:
On Sun, Mar 7, 2010 at 3:47 AM, Michael Cree <mcree@orcon.net.nz> wrote:Thanks, that hint was helpful. I have drummed up a patch (attached) thatreplaces some use of the UINT16LE_TO_CPU(), etc., macros with genericinterfaces from the Xserver's compiler.h header file. Now works correctly on RV610 video card on an Alpha XP1000. Have also verified that the driverstill works on an RV710 card on AMD64 architecture.The patch applies cleanly against the 6.12.5 branch and also upstream gitmaster.Alex: may I presume that you will handle getting it upstream for review andhopefully acceptance into the fdo git master.I'll take a look at it. My only concern would be making sure these changes don't break big endian which is the reason the macros were added in the first place.
It should work, but worth running a check. My understanding is that the ldw_u(), etc., macros/functions in compiler.h are supposed to handle all architectural issues, including endianess, alignment, and certain hardware limitations on byte/word access.
I do have a PPC laptop but unfortunately for this test it has an older Radeon card (I think 9200 or 9250) so wouldn't exercise the AtomBios code path.
Cheers Michael.