2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/usb/dwc3
Selvarasu Ganesan d3a8c28426 usb: dwc3: Fix timeout issue during controller enter/exit from halt state
There is a frequent timeout during controller enter/exit from halt state
after toggling the run_stop bit by SW. This timeout occurs when
performing frequent role switches between host and device, causing
device enumeration issues due to the timeout. This issue was not present
when USB2 suspend PHY was disabled by passing the SNPS quirks
(snps,dis_u2_susphy_quirk and snps,dis_enblslpm_quirk) from the DTS.
However, there is a requirement to enable USB2 suspend PHY by setting of
GUSB2PHYCFG.ENBLSLPM and GUSB2PHYCFG.SUSPHY bits when controller starts
in gadget or host mode results in the timeout issue.

This commit addresses this timeout issue by ensuring that the bits
GUSB2PHYCFG.ENBLSLPM and GUSB2PHYCFG.SUSPHY are cleared before starting
the dwc3_gadget_run_stop sequence and restoring them after the
dwc3_gadget_run_stop sequence is completed.

Fixes: 72246da40f ("usb: Introduce DesignWare USB3 DRD Driver")
Cc: stable <stable@kernel.org>
Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20250201163903.459-1-selvarasu.g@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-14 09:23:23 +01:00
..
core.c usb: dwc3: core: Defer the probe until USB power supply ready 2025-01-17 12:38:22 +01:00
core.h usb: dwc3: Document nostream_work 2025-02-03 16:40:11 +01: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: core: Refactor PHY logic to support Multiport Controller 2024-04-23 19:56:09 -07:00
dwc3-am62.c Merge 6.13-rc7 into usb-next 2025-01-13 06:11:06 +01:00
dwc3-exynos.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +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: fix software node kernel dump 2024-12-04 16:26:30 +01:00
dwc3-keystone.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-meson-g12a.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-octeon.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-of-simple.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-omap.c usb: dwc3: omap: Fix devm_regulator_get_optional() error handling 2025-01-11 17:02:30 +01:00
dwc3-pci.c usb: dwc3: pci: add support for the Intel Panther Lake 2024-07-03 16:06:32 +02:00
dwc3-qcom.c usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
dwc3-rtk.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-st.c usb: dwc3: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() 2025-01-11 17:02:30 +01:00
dwc3-xilinx.c usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode 2024-12-04 16:26:54 +01:00
ep0.c usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED 2024-11-16 09:04:56 +01:00
gadget.c usb: dwc3: Fix timeout issue during controller enter/exit from halt state 2025-02-14 09:23:23 +01:00
gadget.h Merge 6.8-rc5 into usb-next 2024-02-19 09:13:29 +01:00
host.c usb: dwc3: Correct some typos in comments 2024-10-04 15:08:53 +02:00
io.h usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
Kconfig usb: use "prompt" instead of "bool" for choice prompts 2024-11-04 17:53:09 +09:00
Makefile usb: dwc3: add Realtek DHC RTD SoC dwc3 glue layer driver 2023-10-02 14:05:24 +02:00
trace.c usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
ulpi.c usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression 2020-12-28 15:55:44 +01:00