That's right, it is set by the device driver, not the controller driver. Suppose the device driver wants to send 3 bytes: "ABC". The controller driver needs to reverse that into "\000CBA" but it can't, because the buffer is only 3 bytes long and it needs 4 bytes. So what do you do?
Yes,that's a big problem.
Now,I think the question is clear for me.
So I will deny endian swap of ohci controller and treat it as stardand
ohci controller.I google some ohci code modification for big endian.It just change code about frameno.I'll give it a try(This is one kind of DMA memory refered by Dave---- TDs/EDs).
Another quesiton: I think that many devices driver must be modify for big
endian (This is another kind of DMA memory refered by Dave-----the application protocol used).I google a patch of rtl8150 for mips(
http://www.spinics.net/lists/mips/msg13558.html) and learn from it.
BTW: Do drivers of usb devices support big endian ARCH in 2.6.X(I get
2.6.4 kernel,and the code of ohci look like supporting big endian ARCH.But I don't know whether devices drivers DO support)?
Regards yfw
_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel