linux/drivers/usb/dwc3
Thinh Nguyen 0491423356 usb: dwc3: gadget: Reduce TRB IOC settings
When the TRB ring is full, the dwc3 driver must make sure that there's
at least 1 TRB with Interrupt On Completion (IOC) set to notify of
available TRBs.

The current logic just sets the TRB's IOC whenever we run out of TRBs,
but it doesn't consider that there may be other TRBs with IOC/LST set
already. This creates more events and unnecessary delay from interrupt
handling. Only forcefully set IOC when we run out of TRBs and none of
the TRBs in the TRB ring has had IOC set.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/72a1fa448eb1201b152e65be7902a5d1c75b9f3a.1667867687.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-11-08 16:46:46 +01:00
..
core.c usb: dwc3: Don't switch OTG -> peripheral if extcon is present 2022-10-22 12:29:43 +02:00
core.h usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after resume bug 2022-09-22 15:52:30 +02:00
debug.h usb: dwc3: debug: show events parameters in hex 2022-08-19 11:03:52 +02:00
debugfs.c USB: dwc3: remove debugfs root dentry storage 2021-06-10 19:57:21 +02:00
drd.c usb: dwc3: Don't switch OTG -> peripheral if extcon is present 2022-10-22 12:29:43 +02:00
dwc3-am62.c usb: dwc3-am62: remove unnecesary clk_put() 2022-06-29 21:04:55 +02:00
dwc3-exynos.c usb: dwc3: exynos: fix incorrect kernel-doc comment syntax 2021-04-02 15:20:54 +02:00
dwc3-haps.c usb: dwc3: haps: Constify the software node 2021-02-04 15:42:06 +01:00
dwc3-imx8mp.c usb: dwc3: imx8mp: Add support for setting SOC specific flags 2022-03-15 15:37:11 +01:00
dwc3-keystone.c usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
dwc3-meson-g12a.c usb: dwc3-meson-g12a: constify drvdata structs 2022-03-15 15:33:52 +01:00
dwc3-of-simple.c usb: dwc3: Add driver for Xilinx platforms 2021-03-23 12:48:14 +01:00
dwc3-omap.c usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm 2022-03-15 15:44:46 +01:00
dwc3-pci.c usb: dwc3: pci: Add PCIe device ID for USB3 controller on CPU sub-system for Alder Lake P 2022-09-22 15:52:30 +02:00
dwc3-qcom.c usb: dwc3: qcom: drop unneeded compatibles 2022-09-22 15:52:29 +02:00
dwc3-st.c usb: dwc3: st: Rely on child's compatible instead of name 2022-10-25 19:06:13 +02:00
dwc3-xilinx.c usb: dwc3: xilinx: fix usb3 non-wakeup source resume failure 2022-09-22 15:52:30 +02:00
ep0.c usb: dwc3: Avoid unmapping USB requests if endxfer is not complete 2022-09-07 16:26:26 +02:00
gadget.c usb: dwc3: gadget: Reduce TRB IOC settings 2022-11-08 16:46:46 +01:00
gadget.h usb: dwc3: Fix ep0 handling when getting reset while doing control transfer 2022-05-19 18:14:16 +02:00
host.c usb: dwc3: disable USB core PHY management 2022-08-30 15:30:21 +02:00
io.h usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
Kconfig usb: dwc3: Fix typos in Kconfig 2022-06-12 06:49:47 +02:00
Makefile drivers: usb: dwc3: Add AM62 USB wrapper driver 2022-04-21 18:31:56 +02:00
trace.c usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
trace.h usb: dwc3: trace: add Start of Frame Number to trace event 2022-08-19 11:03:52 +02:00
ulpi.c usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression 2020-12-28 15:55:44 +01:00