[RFT/PATCH 00/38] usb: dwc3: gadget: Rework & Refactoring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

I've been working on this series for a while now. I feels like after
this series the transfer management code is far easier to read and
understand.

Based on my tests, I have no regressions. Tested g_mass_storage and all
of testusb's tests (including ISOC).

Patches are also available on dwc3-improve-isoc-endpoints in my k.org
tree. Test reports would be VERY, VERY, VERY welcome. Please give this a
go so we avoid regressions on v4.18.

Cheers

Felipe Balbi (38):
  usb: dwc3: gadget: pre-issue Start Transfer for Interrupt EPs too
  usb: dwc3: gadget: XferNotReady is Isoc-only
  usb: dwc3: gadget: XferComplete only for EP0
  usb: dwc3: gadget: rename dwc3_endpoint_transfer_complete()
  usb: dwc3: gadget: don't kick transfer all the time
  usb: dwc3: gadget: rename done_trbs and done_reqs
  usb: dwc3: gadget: remove allocated/queued request tracking
  usb: dwc3: gadget: remove some pointless checks
  usb: dwc3: gadget: renable dwc3_gadget_start_isoc()
  usb: dwc3: gadget: move handler closer to calling site
  usb: dwc3: gadget: remove unnecessary 'dwc' parameter
  usb: dwc3: gadget: always use frame number from XferNotReady
  usb: dwc3: gadget: update dep->frame_number from XferInprogress too
  usb: dwc3: gadget: start removing BUSY flag
  usb: dwc3: gadget: remove DWC3_EP_BUSY flag
  usb: dwc3: gadget: make cleanup_completed_requests() return nothing
  usb: dwc3: gadget: remove unnecessary 'ioc' variable
  usb: dwc3: gadget: check for Missed Isoc from event status
  usb: dwc3: gadget: remove duplicated missed isoc handling
  usb: dwc3: gadget: simplify queueing of isoc transfers
  usb: dwc3: gadget: simplify isoc case on cleanup_completed_requests
  usb: dwc3: gadget: split scatterlist and linear handlers
  usb: dwc3: gadget: remove PENDING handling from cleanup_completed
  usb: dwc3: gadget: remove unnecessary 'chain' variable
  usb: dwc3: gadget: simplify unaligned and zlp handling
  usb: dwc3: trace: print out event status too
  usb: dwc3: gadget: simplify short packet event
  usb: dwc3: gadget: simplify IOC handling
  usb: dwc3: gadget: add a helper to test if a request is completed
  usb: dwc3: gadget: one declaration per line
  usb: dwc3: gadget: reduce scope of ret variable
  usb: dwc3: gadget: get rid of the length variable
  usb: dwc3: gadget: split dwc3_gadget_ep_cleanup_completed_requests()
  usb: dwc3: gadget: refactor dwc3_gadget_init_endpoints()
  usb: dwc3: gadget: combine modify & restore into single argument
  usb: dwc3: gadget: remove a few more dwc arguments
  usb: dwc3: gadget: move set_xfer_resource() in place of prototype
  usb: dwc3: gadget: move dwc3_calc_trbs_left() in place of prototype

 Documentation/driver-api/usb/dwc3.rst |   3 +-
 drivers/usb/dwc3/core.h               |  13 +-
 drivers/usb/dwc3/debug.h              |  20 +-
 drivers/usb/dwc3/ep0.c                |   5 +-
 drivers/usb/dwc3/gadget.c             | 712 ++++++++++++++++------------------
 drivers/usb/dwc3/trace.h              |  12 +-
 6 files changed, 351 insertions(+), 414 deletions(-)

-- 
2.16.1

--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux