mbox series

[v4,0/3] usb: dwc3: gadget: improve isoc handling

Message ID 20200701093137.19485-1-m.grzeschik@pengutronix.de (mailing list archive)
Headers show
Series usb: dwc3: gadget: improve isoc handling | expand

Message

Michael Grzeschik July 1, 2020, 9:31 a.m. UTC
These three patches improve the isoc handling and make the dwc3 gadget
driver somewhat usable with the UVC gadget for isochronous endpoints.

The first patch makes starting isochronous transfers more reliable. I
think it's more less, what Thinh suggested some time ago[1]. It's still
not perfect because the first request must still be queued within 2
seconds but it's a lot better than the current situation.

The second patch makes it possible to have gaps in the data stream. The
UVC gadget relies on such behaviour. Without this, using the UVC gadget
with a live stream stops after the first frame that needs more time to
be scheduled.

[1] https://marc.info/?l=linux-usb&m=156088170723824&w=4

Michael Grzeschik (2):
  usb: dwc3: gadget: add frame number mask
  usb: dwc3: gadget: when the started list is empty stop the active xfer

Michael Olbrich (1):
  usb: dwc3: gadget: make starting isoc transfers more robust

 drivers/usb/dwc3/gadget.c | 30 +++++++++++++++++++++++++++---
 drivers/usb/dwc3/gadget.h |  2 ++
 2 files changed, 29 insertions(+), 3 deletions(-)