On 29.09.2022 18:11, Johan Hovold wrote: > Since commit d399723950c4 ("clk: qcom: gdsc: Fix the handling of > PWRSTS_RET support) retention mode can be used on sc8280xp to maintain > state during suspend instead of leaving the domain always on. > > This is needed to eventually allow the parent CX domain to be powered > down during suspend. > > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> Konrad > drivers/clk/qcom/gcc-sc8280xp.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > While we're not yet able to fully test this (since we're not hitting CX > power down) this can still go in as we'll need it in some form > eventually. > > Note that the PCIe domains should remain always-on until we have driver > support for suspend in place. > > Johan > > > diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c > index 7768e6901dcc..a18ed88f3b82 100644 > --- a/drivers/clk/qcom/gcc-sc8280xp.c > +++ b/drivers/clk/qcom/gcc-sc8280xp.c > @@ -6843,17 +6843,12 @@ static struct gdsc ufs_phy_gdsc = { > .pwrsts = PWRSTS_OFF_ON, > }; > > -/* > - * The Qualcomm DWC3 driver suspend implementation appears to be incomplete > - * for sc8280xp so keep the USB power domains always-on for now. > - */ > static struct gdsc usb30_mp_gdsc = { > .gdscr = 0xab004, > .pd = { > .name = "usb30_mp_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > - .flags = ALWAYS_ON, > + .pwrsts = PWRSTS_RET_ON, > }; > > static struct gdsc usb30_prim_gdsc = { > @@ -6861,8 +6856,7 @@ static struct gdsc usb30_prim_gdsc = { > .pd = { > .name = "usb30_prim_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > - .flags = ALWAYS_ON, > + .pwrsts = PWRSTS_RET_ON, > }; > > static struct gdsc usb30_sec_gdsc = { > @@ -6870,8 +6864,7 @@ static struct gdsc usb30_sec_gdsc = { > .pd = { > .name = "usb30_sec_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > - .flags = ALWAYS_ON, > + .pwrsts = PWRSTS_RET_ON, > }; > > static struct clk_regmap *gcc_sc8280xp_clocks[] = {