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

Reply via email to