Hi, with these patches we can use our TRB queue as a ring for all transfer types (except for control transfers ;-) So far, I have lightly tested these changes with g_mass_storage only. I will, certainly, run more tests and leave testusb running for a couple days before getting these upstream, but at least the patches are already looking good enough to be sent to the mailing list. I would like other dwc3 users to test these patches with their platforms just to make sure we don't run into regressions. Best Felipe Balbi (8): usb: dwc3: gadget: rename busy/free_slot to trb_enqueue/dequeue usb: dwc3: core: document struct dwc3_request usb: dwc3: switch trb enqueue/dequeue and first_trb_index to u8 usb: dwc3: get rid of DWC3_TRB_MASK usb: dwc3: gadget: add trb enqueue/dequeue helpers usb: dwc3: gadget: move % operation to increment helpers usb: dwc3: gadget: use link TRB for all endpoint types usb: dwc3: gadget: remove newline from trace drivers/usb/dwc3/core.h | 34 +++++++++++++++---- drivers/usb/dwc3/ep0.c | 6 ++-- drivers/usb/dwc3/gadget.c | 85 ++++++++++++++++++++--------------------------- 3 files changed, 67 insertions(+), 58 deletions(-) -- 2.8.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html