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

Reply via email to