]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "usb: dwc3: disable USB core PHY management"
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 3 Nov 2022 14:46:48 +0000 (15:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Nov 2022 15:45:12 +0000 (16:45 +0100)
commit438fd83a7300018ce4d3bfd4af164c4db3236cb4
tree182dcba39e00e514cac5d060cb170df588cfbf4d
parent07ae7a85eed59e92a7db4c051d294f49f6729fca
Revert "usb: dwc3: disable USB core PHY management"

This reverts commit 927616b960e021f51026bfa1a7abbfbc6d3a725e.

The offending commit disabled the USB core PHY management as the dwc3
already manages the PHYs in question.

Unfortunately some platforms have started relying on having USB core
also controlling the PHY and this is specifically currently needed on
some Exynos platforms for PHY calibration or connected device may fail
to enumerate.

The PHY calibration was previously handled in the dwc3 driver, but to
work around some issues related to how the dwc3 driver interacts with
xhci (e.g. using multiple drivers) this was moved to USB core by commits
64e09e943fb5 ("usb: core: phy: add support for PHY calibration") and
9505ac1aa080 ("usb: dwc3: remove generic PHY calibrate() calls").

The same PHY obviously should not be controlled from two different
places, which for example do no agree on the PHY mode or power state
during suspend, but as the offending patch was backported to stable,
let's revert it for now.

Reported-by: Stefan Agner <stefan@agner.ch>
Link: https://lore.kernel.org/lkml/808bdba846bb60456adf10a3016911ee@agner.ch/
Fixes: 927616b960e0 ("usb: dwc3: disable USB core PHY management")
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20221103144648.14197-1-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/host.c