mbox series

[0/5] usb: dwc3: gadget: Handle streams

Message ID cover.1588025916.git.thinhn@synopsys.com (mailing list archive)
Headers show
Series usb: dwc3: gadget: Handle streams | expand

Message

Thinh Nguyen April 27, 2020, 10:27 p.m. UTC
The dwc3 driver wasn't implemented to handle streams. This series provide a few
updates to dwc3 and usb request for that:
* Introduce usb_request->is_last field
* Handle dwc3 transfer completion
* Handle dwc3 stream events

To use stream, the dwc3 driver must know which request is the last request of a
transfer. The controller uses this information to reallocate its resources for
different streams as transfers are completed. Function drivers that support
stream must indicate this via usb_request->is_last field.

Please note, I also included the patch
"usb: dwc3: gadget: Continue to process pending requests" in this series to
avoid dependency issue when applying to your git tree.

https://patchwork.kernel.org/patch/11466967/

Prerequisite
------------
This series requires DWC_usb32 patch series:
https://patchwork.kernel.org/project/linux-usb/list/?series=269641

[PATCH 1/2] usb: dwc3: Add support for DWC_usb32 IP
[PATCH 2/2] usb: dwc3: Get MDWIDTH for DWC_usb32



Thinh Nguyen (5):
  usb: gadget: Introduce usb_request->is_last field
  usb: gadget: f_tcm: Inform last transfer request
  usb: dwc3: gadget: Continue to process pending requests
  usb: dwc3: gadget: Handle transfer completion
  usb: dwc3: gadget: Handle stream transfers

 drivers/usb/dwc3/core.h             |  12 ++
 drivers/usb/dwc3/debug.h            |   2 +
 drivers/usb/dwc3/gadget.c           | 225 ++++++++++++++++++++++++++++++------
 drivers/usb/gadget/function/f_tcm.c |   3 +
 include/linux/usb/gadget.h          |   2 +
 5 files changed, 211 insertions(+), 33 deletions(-)