On Friday 28 April 2006 15:46, you wrote:
> On Fri, Apr 28, 2006 at 03:42:29PM +0200, Michael Buesch wrote:
> > I guess you are confusing something here:
> > MMIO access versus values in structs (for example) that
> > are accessed through DMA (for example).
>
> so there's two general problems:
>
> mmio/pio - linux expects the device to be le there by defalt and
> {read,write}{b,s,l} do the switch automatically
> dmaed data - you always need to switch data yourself, data is commonly
> either be or le
>
> now there's devices that are always be for mmio or can be switched to it
> during initialization. For Linux you'd traditionally have to switch before
> calling {read,write}{b,s,l} or use the __raw_ version that have other issues.
> The ioread*/iowrite* APIs now have a BE version, too.
>
> I've not heard about devices having this switch for dma payload, and it
> would be rather usual as large parts of it are determined by some on the
> wire protocol anyway.bcm43xx has a switch for this in PIO mode. But we are currently not using it, because it is a little bit tricky to get right and I did not want to do such experiments before 2.6.17. -- Greetings Michael.
pgp7PCZfka0qS.pgp
Description: PGP signature
