On Monday 02 March 2015 05:08 PM, Marek Vasut wrote:
On Friday, February 20, 2015 at 04:22:58 AM, Stephen Warren wrote:
Hi!
[...]
Existing code that invokes USB transfers will call (a) once. (a) will
call (b) as many times as needed to break up the packet into small
chunks. (b) will either send the transaction to the HW (HS devices or
directly attached LS/FS devices), or perform the split transaction
handling (remotely attached LS/FS devices).
Does that sound like a reasonable approach?
I can start looking into getting split transactions going; I just
couldn't motivate myself last Friday night.
Do you plan to do this on the USB stack level or USB controller driver
level please ?
I expect I'd put at least the split transaction stuff into the USB
controller driver. While I'm not that familiar with anything other than
standard EHCI, I'd guess the need to manually manage split transaction
was unique to DWC2?
Looks that way. +CC Kishon , what about DWC3 ?
SPLIT transaction is specific to host controller and the DWC3 work I did is
gadget driver. So I'd assume it should be handled by xhci driver.
The split of transfers into max-packet-sized transfers could plausibly
be useful in the core, but again my guess is that the need to do this is
DWC2-specific?
Kishon ?
AFAIK dwc3 requires max-packet "aligned" request sizes and we manage it by
using bounce buffer and chained TRBs. The hw itself takes care of sending
max-packet-sized transfers. But again I'm talking w.r.t gadget driver.
Cheers
Kishon
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot