mirror_ubuntu-kernels/drivers/usb/dwc3
Hans de Goede d7c93a903f usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail
Commit e0082698b6 ("usb: dwc3: ulpi: conditionally resume ULPI PHY")
fixed an issue where ULPI transfers would timeout if any requests where
send to the phy sometime after init, giving it enough time to auto-suspend.

Commit e5f4ca3fce ("usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend
regression") changed the behavior to instead of clearing the
DWC3_GUSB2PHYCFG_SUSPHY bit, add an extra sleep when it is set.

But on Bay Trail devices, when phy_set_mode() gets called during init,
this leads to errors like these:
[   28.451522] tusb1210 dwc3.ulpi: error -110 writing val 0x01 to reg 0x0a
[   28.464089] tusb1210 dwc3.ulpi: error -110 writing val 0x01 to reg 0x0a

Add "snps,dis_u2_susphy_quirk" to the settings for Bay Trail devices to
fix this. This restores the old behavior for Bay Trail devices, since
previously the DWC3_GUSB2PHYCFG_SUSPHY bit would get cleared on the first
ulpi_read/_write() and then was never set again.

Fixes: e5f4ca3fce ("usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression")
Cc: stable@kernel.org
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20220213130524.18748-2-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-15 15:12:38 +01:00
..
core.c usb: dwc3: leave default DMA for PCI devices 2021-11-17 15:03:51 +01:00
core.h usb: dwc3: gadget: Support Multi-Stream Transfer 2021-12-13 14:56:37 +01:00
debug.h usb: dwc3: debugfs: Add and remove endpoint dirs dynamically 2021-06-03 20:28:23 +02:00
debugfs.c USB: dwc3: remove debugfs root dentry storage 2021-06-10 19:57:21 +02:00
drd.c usb: dwc3: drd: use helper to get role-switch-default-mode 2021-07-27 15:58:37 +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: request irq after initializing dwc3 2021-08-26 13:10:56 +02: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: fix shared reset control use 2021-11-17 14:29:13 +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: improve extcon initialization 2021-05-10 15:04:37 +02:00
dwc3-pci.c usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail 2022-02-15 15:12:38 +01:00
dwc3-qcom.c usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe 2022-01-06 15:26:21 +01:00
dwc3-st.c usb: dwc3: st: fix incorrect kernel-doc comment syntax in file 2021-04-02 15:20:46 +02:00
dwc3-xilinx.c usb: dwc3: xilinx: fix uninitialized return value 2022-01-31 10:24:00 +01:00
ep0.c Merge v5.14-rc3 into usb-next 2021-07-26 11:16:46 +02:00
gadget.c usb: dwc3: gadget: Prevent core from processing stale TRBs 2022-02-08 12:33:59 +01:00
gadget.h usb: dwc3: add cancelled reasons for dwc3 requests 2021-04-02 15:27:36 +02:00
host.c usb: dwc3: Drop unneeded calls to platform_get_resource_byname() 2021-12-21 08:51:57 +01:00
io.h usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
Kconfig usb: exynos: describe driver in KConfig 2021-10-05 12:55:50 +02:00
Makefile usb: dwc3: Add driver for Xilinx platforms 2021-03-23 12:48:14 +01: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: Remove unused fields in dwc3_log_trb 2021-05-27 09:30:01 +02:00
ulpi.c usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression 2020-12-28 15:55:44 +01:00