[PATCH 3/6] drm/radeon: Writeback endian fixes

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Jul 14 08:34:49 PDT 2011


On Thu, 2011-07-14 at 17:19 +0200, Michel Dänzer wrote:
> On Mit, 2011-07-13 at 16:28 +1000, Benjamin Herrenschmidt wrote:
> > The writeback ring pointer and IH ring pointer are read using le32_to_cpu
> > so we do not want the chip to byteswap them on big-endian.
> > 
> > We still want to byteswap the ring itself and the IBs, so we don't touch
> > that but we remove setting of the byteswap bits in CP_RB_RPTR_ADDR and
> > IH_CNTL.
> > 
> > In general, for things like that where we control all the accessors easily,
> > we are better off doing the swap in SW rather than HW. Paradoxally, it does
> > keep the code closer to x86 and avoid using poorly tested HW features.
> 
> Absolutely. Unfortunately, when I fixed the CP writeback code to use
> le32_to_cpu(), I didn't realize the code for some GPU families was
> already using HW swappers for this. 
> 
> 
> > I also changed the use of RADEON_ to R600_ in a couple of cases to be more
> > consistent with the surrounding code.
> 
> That should probably be in a separate patch. Either way, though:

I thought about it and decided it was trivial enough not to bother
re-doing the patches.

Alex/Dave/whoever's in charge, feel free to apply the current batch,
I'll send further cleanups/fixes as separate patches, possibly not
before next week or so.

Cheers,
Ben.

> Reviewed-by: Michel Dänzer <michel at daenzer.net>





More information about the dri-devel mailing list