linux/drivers/usb/dwc3
Krishna Kurapati def4422ff0 usb: dwc3: core: Skip setting event buffers for host only controllers
[ Upstream commit 89d7f96299 ]

On some SoC's like SA8295P where the tertiary controller is host-only
capable, GEVTADDRHI/LO, GEVTSIZ, GEVTCOUNT registers are not accessible.
Trying to access them leads to a crash.

For DRD/Peripheral supported controllers, event buffer setup is done
again in gadget_pullup. Skip setup or cleanup of event buffers if
controller is host-only capable.

Suggested-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240420044901.884098-4-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-08-29 17:33:40 +02:00
..
core.c usb: dwc3: core: Skip setting event buffers for host only controllers 2024-08-29 17:33:40 +02:00
core.h usb: dwc3: core: Add DWC31 version 2.00a controller 2024-07-05 09:33:59 +02:00
debug.h usb: dwc3: Add function suspend and function wakeup support 2023-03-29 10:27:01 +02:00
debugfs.c usb: dwc3: debugfs: Resume dwc3 before accessing registers 2023-05-13 17:56:22 +09:00
drd.c usb: dwc3: Fix default mode initialization 2023-12-03 07:33:10 +01:00
dwc3-am62.c usb: dwc3-am62: Disable wakeup at remove 2024-04-03 15:28:25 +02:00
dwc3-exynos.c usb: dwc3: exynos: Add support for Exynos850 variant 2023-08-22 14:47:22 +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: remove unnecessary platform_set_drvdata() 2023-08-22 14:45:19 +02:00
dwc3-keystone.c usb: dwc3: remove unnecessary platform_set_drvdata() 2023-08-22 14:45:19 +02:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: do post init to fix broken usb after resumption 2023-08-22 14:44:09 +02:00
dwc3-octeon.c just cleanups and fixes 2023-09-07 10:35:14 -07:00
dwc3-of-simple.c usb: dwc3: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +02:00
dwc3-omap.c usb: dwc3-omap: Convert to platform remove callback returning void 2023-05-28 12:36:24 +01:00
dwc3-pci.c usb: dwc3: pci: add support for the Intel Panther Lake 2024-07-18 13:21:19 +02:00
dwc3-qcom.c USB: dwc3: qcom: fix wakeup after probe deferral 2023-12-03 07:33:10 +01:00
dwc3-st.c usb: dwc3-st: Convert to platform remove callback returning void 2023-05-28 12:36:24 +01:00
dwc3-xilinx.c usb: dwc3-xilinx: Convert to platform remove callback returning void 2023-05-28 12:36:24 +01:00
ep0.c usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart 2024-01-25 15:35:42 -08:00
gadget.c usb: dwc3: Wait unconditionally after issuing EndXfer command 2024-05-25 16:22:54 +02: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: core: Prevent phy suspend during init 2024-05-17 12:02:29 +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: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +02:00
Makefile usb: dwc3: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +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: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
ulpi.c usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression 2020-12-28 15:55:44 +01:00