]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: qcom: gcc-x1e80100: Fix USB 0 and 1 PHY GDSC pwrsts flags
authorAbel Vesa <abel.vesa@linaro.org>
Thu, 1 Aug 2024 10:21:07 +0000 (13:21 +0300)
committerBjorn Andersson <andersson@kernel.org>
Tue, 13 Aug 2024 02:15:09 +0000 (19:15 -0700)
Allowing these GDSCs to collapse makes the QMP combo PHYs lose their
configuration on machine suspend. Currently, the QMP combo PHY driver
doesn't reinitialise the HW on resume. Under such conditions, the USB
SuperSpeed support is broken. To avoid this, mark the pwrsts flags with
RET_ON. This is in line with USB 2 PHY GDSC config.

Fixes: 161b7c401f4b ("clk: qcom: Add Global Clock controller (GCC) driver for X1E80100")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20240801-x1e80100-clk-gcc-fix-usb-phy-gdscs-pwrsts-v1-1-8df016768a0f@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/gcc-x1e80100.c

index 6ffb3ddcae0867c9a955c19575d05f9a9d430abc..80e90e31be333c125d88d2fb5221b99511c07e60 100644 (file)
@@ -6203,7 +6203,7 @@ static struct gdsc gcc_usb_0_phy_gdsc = {
        .pd = {
                .name = "gcc_usb_0_phy_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
+       .pwrsts = PWRSTS_RET_ON,
        .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
 };
 
@@ -6215,7 +6215,7 @@ static struct gdsc gcc_usb_1_phy_gdsc = {
        .pd = {
                .name = "gcc_usb_1_phy_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
+       .pwrsts = PWRSTS_RET_ON,
        .flags = POLL_CFG_GDSCR | RETAIN_FF_ENABLE,
 };