]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: qcom: gcc-sm8450: Do not turn off PCIe GDSCs during gdsc_disable()
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Mon, 22 Jul 2024 10:57:33 +0000 (16:27 +0530)
committerBjorn Andersson <andersson@kernel.org>
Mon, 29 Jul 2024 03:15:22 +0000 (22:15 -0500)
With PWRSTS_OFF_ON, PCIe GDSCs are turned off during gdsc_disable(). This
can happen during scenarios such as system suspend and breaks the resume
of PCIe controllers from suspend.

So use PWRSTS_RET_ON to indicate the GDSC driver to not turn off the GDSCs
during gdsc_disable() and allow the hardware to transition the GDSCs to
retention when the parent domain enters low power state during system
suspend.

Cc: stable@vger.kernel.org # 5.17
Fixes: db0c944ee92b ("clk: qcom: Add clock driver for SM8450")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240722105733.13040-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/gcc-sm8450.c

index 639a9a955914f4bdbe2aa83589bc80b6c51775e8..c445c271678a5f46b31854593a28bf6be414e6da 100644 (file)
@@ -2974,7 +2974,7 @@ static struct gdsc pcie_0_gdsc = {
        .pd = {
                .name = "pcie_0_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
+       .pwrsts = PWRSTS_RET_ON,
 };
 
 static struct gdsc pcie_1_gdsc = {
@@ -2982,7 +2982,7 @@ static struct gdsc pcie_1_gdsc = {
        .pd = {
                .name = "pcie_1_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
+       .pwrsts = PWRSTS_RET_ON,
 };
 
 static struct gdsc ufs_phy_gdsc = {