On 2026-05-07T09:27:07, Jens Wiklander <[email protected]> wrote: > usb: dwc3: import from kernel v4.8 > > Sync Linux kernel dwc3 changes from v4.7 to v4.8. > > The following files are preserved accross the import: > Makefile Kconfig dwc3-meson-g12a.c dwc3-meson-gxl.c dwc3-omap.c > dwc3-uniphier.c dwc3-generic.h dwc3-generic.c dwc3-generic-sti.c > dwc3-layerscape.c ti_usb_phy.c > > Skipping unused files: > debugfs.c drd.c dwc3-exynos.c dwc3-haps.c dwc3-imx8mp.c dwc3-keystone.c > dwc3-octeon.c dwc3-of-simple.c dwc3-pci.c dwc3-qcom.c dwc3-qcom-legacy.c > dwc3-rtk.c dwc3-st.c dwc3-xilinx.c host.c trace.c trace.h ulpi.c > > Note that this is a raw import and doesn't build. > A fixup commit at the end of the series fixes that. > > List of commits: git log --oneline v4.7..v4.8 > Commits imported: > 696118c016dd usb: dwc3: pci: fix build warning on !PM_SLEEP > 9d7aba7786b6 Revert "usb: dwc3: gadget: always decrement by 1" > 6f8245b4e37c usb: dwc3: gadget: always decrement by 1 > 696fe69d7e63 usb: dwc3: debug: fix ep name on trace output > d6011f6fc21b usb: dwc3: gadget: don't rely on jiffies while holding spinlock > b74c2d875baa usb: dwc3: core: allow device to runtime_suspend several times > f6c274e11e3b usb: dwc3: pci: runtime_resume child device > a0ad85ae866f usb: dwc3: gadget: stop processing on HWO set > 79d17482a409 usb: dwc3: don't set last bit for ISOC endpoints > 4c4f106c032f usb: dwc3: fix missing platform_set_drvdata() in > dwc3_of_simple_probe() > 4491ed5042f0 usb: dwc3: pci: add Intel Kabylake PCI ID > 7c705dfe2ebe usb: dwc3: gadget: always cleanup all TRBs > e5b36ae2f851 usb: dwc3: gadget: fix for short pkts during chained xfers > c7de57347183 usb: dwc3: gadget: increment request->actual once > c318a821b982 Merge 4.7-rc6 into usb-next > 322832f2f19e usb: dwc3: host: Fix broken XHCI host > 215db9481814 Merge tag 'usb-for-v4.8' of > git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next > 95b57df45062 usb: dwc3: host: use build-in property instead of platform data > 72704f876f50 dwc3: gadget: Implement the suspend entry event handler > 9522def40065 usb: dwc3: core: cleanup IRQ resources > da1410be21bf usb: dwc3: gadget: Add the suspend state checking when stopping > gadget > 0e146028eebf usb: dwc3: gadget: issue ENDTRANSFER conditional on > resource_index > 328082376aea usb: dwc3: fix runtime PM in error path > b6d4e16e8313 usb: dwc3: gadget: simplify run_stop() break condition > f2df679b6c55 usb: dwc3: gadget: avoid while(1) in run_stop() > d807bdd02845 usb: dwc3: gadget: remove udelay() from run_stop() > 5f82279a0c76 usb: dwc3: core: fixup dr_mode fallback selection > e6fe66fe08cd usb: dwc3: pci: add dr-mode for Intel dwc3 > 21e64bf20df5 usb: dwc3: gadget: rename 'ignore' argument to 'modify' > bc71c2df45e5 Merge 4.7-rc4 into usb-next > d6dc2e76a860 usb: dwc3: gadget: decrement trbs_left for each sg entry > ba62c09d5cc2 usb: dwc3: gadget: start Bulk endpoints more frequently > 13fa2e69b1dd usb: dwc3: gadget: disable XFER_NOT_READY > 55a0237f8f47 usb: dwc3: gadget: use allocated/queued reqs for LST bit > 69450c4dc164 usb: dwc3: gadget: halt and stop based HWO bit > 68d34c8a744d usb: dwc3: gadget: keep track of allocated and queued reqs > b6b1c6db4c7f usb: dwc3: gadget: update transfer needs transfer resource > d18e65470a4d usb: dwc3: remove handling of platform data > cf48305de0c6 usb: dwc3: pci: use build-in properties instead of platform data > 60cfb37ac9bc usb: dwc3: remove trailing newline from dwc3_trace > d2728fb3e01f usb: dwc3: omap: Pass VBUS and ID events transparently > 9ab330bf4dfd usb: dwc3: omap: Don't set POWERPRESENT > 12da8eae208d usb: dwc3: omap: Mark the interrupt handler as shared > 3f586c92d877 usb: dwc3: omap: use request_threaded_irq() > 475c8beb35e1 usb: dwc3: add DWC3_GUCTL1 reg for debug > e77c561432bc usb: dwc3: Fix DWC3_USB31_REVISION_110A definition > 2da9ad761e70 usb: dwc3: Use the correct speed macros for DSTS/DCFG > 3de2685f0c39 usb: dwc3: gadget: Fix truncated cast issue > 361572b5f7a9 usb: dwc3: gadget: Handle TRB index 0 when full or empty > 7d0a038b130c usb: dwc3: gadget: Account for link TRB in TRBs left > 32db3d9437b6 usb: dwc3: gadget: Account for max size in TRB space > 89bc856e5a74 usb: dwc3: gadget: Don't prepare TRBs if no space > 0d25744ad107 usb: dwc3: gadget: Initialize the TRB ring > dca0119c3ab6 usb: dwc3: gadget: Simplify skipping of link TRBs > 96bedb637a1e usb: dwc3: Endianness issue on dwc3_log_ctrl > d07fa665c79d usb: dwc3: gadget: Fix usage of bitwise operator > 501058edebf9 usb: dwc3: ep0: Use the correct type for SET_SEL data > 958b9fa7f8cf usb: dwc3: ep0: Fix endianness of wIndex passed to > dwc3_wIndex_to_dep > 71f7e7027028 usb: dwc3: gadget: improve gcmd trace > 88811f7b722c usb: dwc3: gadget: remove udelay() from generic cmd > 0fe886cdb07a usb: dwc3: gadget: single return point on generic commands > 0933df159c5c usb: dwc3: trace: print ep cmd status with a single trace > f6bb225bb3ca usb: dwc3: gadget: loop while (timeout) > ba1598410eff usb: dwc3: gadget: fix trace output when command fails > f75cacc468ed usb: dwc3: trace: fully decode IRQ events > 7ab373aadbd0 usb: dwc3: gadget: no more tracking endpoint type with its name > 22f2c619a116 usb: dwc3: trace: pretty-print TRB's ctrl field > 74674cbf858f usb: dwc3: gadget: add a per-endpoint request queue lock > e9af9229098d usb: dwc3: pci: add Power Management dummy hooks > fc8bb91bc83e usb: dwc3: implement runtime PM > 4cb4221764ef usb: dwc3: gadget: fix for possible endpoint disable race > 9cad39fe4e4a usb: dwc3: fix for the isoc transfer EP_BUSY flag > ab2a92e7a608 usb: dwc3: gadget: only resume USB2 PHY in <=HIGHSPEED > 3f308d17d7ab usb: dwc3: gadget: hold gadget IRQ in dwc->irq_gadget > 51f5d49ad6f0 usb: dwc3: core: simplify suspend/resume operations > c499ff71ff2a usb: dwc3: core: re-factor init and exit paths > bcdb3272e889 usb: dwc3: core: move fladj to dwc3 structure > 2eb8801650b3 usb: dwc3: gadget: add a pointer to endpoint registers > 2cd4718d0bbe usb: dwc3: gadget: pass dep as argument to endpoint command > 4e99472bc10b usb: dwc3: gadget: initialize NUMP based on RxFIFO Size > 5ee85d890f8d usb: dwc3: gadget: split __dwc3_gadget_kick_transfer() > 6b74289937f6 usb: dwc3: gadget: return 0 if we try to Wakeup in superspeed > b43bba96b903 usb: dwc3: gadget: remove udelay(1) when sending ep cmds > 6aff48329595 usb: dwc3: gadget: rely on sg_is_last() and list_is_last() > 4fae2e3e1515 usb: dwc3: gadget: simplify __dwc3_gadget_kick_transfer() > c4233573f6ee usb: dwc3: gadget: prepare TRBs on update transfers too > 7f370ed0cfe9 usb: dwc3: core: get rid of DWC3_PM_OPS macro > 9f8a67b65a49 usb: dwc3: gadget: fix gadget suspend/resume > d7be295243bb usb: dwc3: gadget: re-factor ->udc_start and ->udc_stop > > Signed-off-by: Jens Wiklander <[email protected]> > > drivers/usb/dwc3/core.c | 389 +++++++++-------- > drivers/usb/dwc3/core.h | 59 ++- > drivers/usb/dwc3/debug.h | 140 +++++- > drivers/usb/dwc3/ep0.c | 26 +- > drivers/usb/dwc3/gadget.c | 923 > ++++++++++++++++++++++----------------- > drivers/usb/dwc3/gadget.h | 4 +- > drivers/usb/dwc3/io.h | 7 +- > drivers/usb/dwc3/platform_data.h | 53 --- > 8 files changed, 926 insertions(+), 675 deletions(-)
Reviewed-by: Simon Glass <[email protected]>

