On 6.07.2023 16:40, Konrad Dybcio wrote: > 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@xxxxxxxxxx> >>> --- >>> >>> 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@xxxxxxxxxx/ Moreover, I tried a similar patch out. Johan's v6.4 branch + the patchset I linked + removing ALWAYS_ON from gcc (so keeping PWRSTS_OFF_ON) and PCIe survives a wakeup-s2idle-wakeup cycle. I am however running with clk_ignore_unused, so I don't know how this impacts the RPMh system suspend situation. Konrad > > Konrad >> >> Johan