1
0
Fork 0
alistair23-linux/drivers/usb/dwc3
Serge Semin a37a0667e1 usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
commit ce722da66d upstream.

In accordance with [1] the DWC_usb3 core sets the GUSB2PHYACCn.VStsDone
bit when the PHY vendor control access is done and clears it when the
application initiates a new transaction. The doc doesn't say anything
about the GUSB2PHYACCn.VStsBsy flag serving for the same purpose. Moreover
we've discovered that the VStsBsy flag can be cleared before the VStsDone
bit. So using the former as a signal of the PHY control registers
completion might be dangerous. Let's have the VStsDone flag utilized
instead then.

[1] Synopsys DesignWare Cores SuperSpeed USB 3.0 xHCI Host Controller
    Databook, 2.70a, December 2013, p.388

Fixes: 88bc9d194f ("usb: dwc3: add ULPI interface support")
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Link: https://lore.kernel.org/r/20201210085008.13264-2-Sergey.Semin@baikalelectronics.ru
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-12 20:16:18 +01:00
..
Kconfig usb: dwc3: select CONFIG_REGMAP_MMIO 2019-10-27 08:58:44 +02:00
Makefile usb: dwc3: Add Amlogic G12A DWC3 glue 2019-05-03 09:13:47 +03:00
core.c usb: dwc3: core: don't trigger runtime pm when remove driver 2020-11-05 11:43:28 +01:00
core.h usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion 2021-01-12 20:16:18 +01:00
debug.h usb: dwc3: debug: fix string position formatting mixup with ret and len 2020-02-28 17:22:16 +01:00
debugfs.c usb: dwc3: debugfs: Print/set link state for peripheral mode 2018-11-26 09:06:31 +02:00
drd.c usb: dwc3: Remove dev_err() on platform_get_irq() failure 2019-10-07 12:52:44 +02:00
dwc3-exynos.c usb: dwc3: exynos: Fix error handling of clk_prepare_enable 2019-01-28 15:31:11 +02:00
dwc3-haps.c usb: dwc3: haps: Workaround matching VID PID 2019-02-07 13:17:19 +02:00
dwc3-keystone.c USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: fix suspend resume regulator unbalanced disables 2019-08-28 13:04:59 +03:00
dwc3-of-simple.c usb: dwc3: simple: add support for Hikey 970 2020-10-29 09:58:05 +01:00
dwc3-omap.c USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
dwc3-pci.c usb: dwc3: pci: add support for the Intel Alder Lake-S 2020-11-18 19:20:21 +01:00
dwc3-qcom.c usb: dwc3: qcom: Use of_clk_get_parent_count() 2019-06-18 11:58:29 +03:00
dwc3-st.c usb: dwc3: st: Add of_dev_put() in probe function 2019-08-28 13:04:58 +03:00
ep0.c usb: dwc3: ep0: Fix delay status handling 2020-11-10 12:37:33 +01:00
gadget.c usb: dwc3: gadget: Reclaim extra TRBs after request completion 2020-11-18 19:20:16 +01:00
gadget.h usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command 2020-11-05 11:43:28 +01:00
host.c usb: dwc3: use proper initializers for property entries 2020-02-24 08:36:44 +01:00
io.h USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
trace.c USB: dwc3: Remove redundant license text 2017-11-07 15:45:01 +01:00
trace.h usb: common: Separated decoding functions from dwc3 driver. 2019-08-29 10:52:27 +03:00
ulpi.c usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion 2021-01-12 20:16:18 +01:00