Message ID | 20230706140842.18059-1-manivannan.sadhasivam@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v2] clk: qcom: gcc-sc8280xp: Allow PCIe GDSCs to enter retention state | expand |
On Thu, Jul 06, 2023 at 07:38:42PM +0530, Manivannan Sadhasivam wrote: > With the minimal system suspend support in place for the PCIe driver that > keeps the interconnect path voted, the ALWAYS_ON flag can now be dropped. > > Also, the PWRSTS_RET_ON flag should be used to allow the GDSCs to enter the > retention state when the parent domain get's turned off during system > suspend. > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > > Changes in v2: > > * Changed the patch from simple revert to changing the ALWAYS_ON flag to > PWRSTS_RET_ON. > > drivers/clk/qcom/gcc-sc8280xp.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c > index 04a99dbaa57e..c59b0f91c87d 100644 > --- a/drivers/clk/qcom/gcc-sc8280xp.c > +++ b/drivers/clk/qcom/gcc-sc8280xp.c > @@ -6786,7 +6786,7 @@ static struct gdsc pcie_2a_gdsc = { > .name = "pcie_2a_gdsc", > }, > .pwrsts = PWRSTS_OFF_ON, > - .flags = VOTABLE | ALWAYS_ON, > + .flags = VOTABLE | PWRSTS_RET_ON, > }; This is not correct either. PWRSTS_RET_ON is a pwrsts mask... Johan
On 6.07.2023 16:17, Johan Hovold wrote: > On Thu, Jul 06, 2023 at 07:38:42PM +0530, Manivannan Sadhasivam wrote: >> With the minimal system suspend support in place for the PCIe driver that >> keeps the interconnect path voted, the ALWAYS_ON flag can now be dropped. >> >> Also, the PWRSTS_RET_ON flag should be used to allow the GDSCs to enter the >> retention state when the parent domain get's turned off during system >> suspend. >> >> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> >> --- >> >> Changes in v2: >> >> * Changed the patch from simple revert to changing the ALWAYS_ON flag to >> PWRSTS_RET_ON. >> >> drivers/clk/qcom/gcc-sc8280xp.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c >> index 04a99dbaa57e..c59b0f91c87d 100644 >> --- a/drivers/clk/qcom/gcc-sc8280xp.c >> +++ b/drivers/clk/qcom/gcc-sc8280xp.c >> @@ -6786,7 +6786,7 @@ static struct gdsc pcie_2a_gdsc = { >> .name = "pcie_2a_gdsc", >> }, >> .pwrsts = PWRSTS_OFF_ON, >> - .flags = VOTABLE | ALWAYS_ON, >> + .flags = VOTABLE | PWRSTS_RET_ON, >> }; > > This is not correct either. PWRSTS_RET_ON is a pwrsts mask... This + please rebase atop that: https://lore.kernel.org/linux-arm-msm/20230620-topic-sc8280_gccgdsc-v2-0-562c1428c10d@linaro.org/ Konrad > > Johan
diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c index 04a99dbaa57e..c59b0f91c87d 100644 --- a/drivers/clk/qcom/gcc-sc8280xp.c +++ b/drivers/clk/qcom/gcc-sc8280xp.c @@ -6786,7 +6786,7 @@ static struct gdsc pcie_2a_gdsc = { .name = "pcie_2a_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE | ALWAYS_ON, + .flags = VOTABLE | PWRSTS_RET_ON, }; static struct gdsc pcie_2b_gdsc = { @@ -6797,7 +6797,7 @@ static struct gdsc pcie_2b_gdsc = { .name = "pcie_2b_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE | ALWAYS_ON, + .flags = VOTABLE | PWRSTS_RET_ON, }; static struct gdsc pcie_3a_gdsc = { @@ -6808,7 +6808,7 @@ static struct gdsc pcie_3a_gdsc = { .name = "pcie_3a_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE | ALWAYS_ON, + .flags = VOTABLE | PWRSTS_RET_ON, }; static struct gdsc pcie_3b_gdsc = { @@ -6819,7 +6819,7 @@ static struct gdsc pcie_3b_gdsc = { .name = "pcie_3b_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE | ALWAYS_ON, + .flags = VOTABLE | PWRSTS_RET_ON, }; static struct gdsc pcie_4_gdsc = { @@ -6830,7 +6830,7 @@ static struct gdsc pcie_4_gdsc = { .name = "pcie_4_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE | ALWAYS_ON, + .flags = VOTABLE | PWRSTS_RET_ON, }; static struct gdsc ufs_card_gdsc = {
With the minimal system suspend support in place for the PCIe driver that keeps the interconnect path voted, the ALWAYS_ON flag can now be dropped. Also, the PWRSTS_RET_ON flag should be used to allow the GDSCs to enter the retention state when the parent domain get's turned off during system suspend. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- Changes in v2: * Changed the patch from simple revert to changing the ALWAYS_ON flag to PWRSTS_RET_ON. drivers/clk/qcom/gcc-sc8280xp.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)