Brad Parker writes:
> Alpha is big endian, right?
Nope, little-endian (natively at least, it might have a big-endian
mode for all I know).
> Can anyone explain how usb-ohci.c works on big endian machines? (like the
> iMac?) I know it does, but why? (in terms of little-endian/big-endian)
>
> I don't understand why pointer writes to registers like hcca and controlhead
> are done "straight" but chain pointers like hwNextED are always munged
> with cpu_to_le32().
>
> Does writel() on a powerpc do byte swapping to little endian?
Yep. writel() is defined to access the PCI bus, which is
little-endian by definition. Things which are put in memory for the
chip to DMA out (like hwNextED) need to be explicitly byte-swapped.
Paul.
--
Paul Mackerras, Open Source Research Fellow, Linuxcare, Inc.
+61 2 6262 8990 tel, +61 2 6262 8991 fax
[EMAIL PROTECTED], http://www.linuxcare.com.au/
Linuxcare. Putting Open Source to work.
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel