On Fri, Sep 16, 2022 at 03:54:17PM +0530, Rajendra Nayak wrote: > The USB controllers on sc7280 do not retain the state when > the system goes into low power state and the GDSCs are > turned off. This results in the controllers reinitializing and > re-enumerating all the connected devices (resulting in additional > delay while coming out of suspend) > Fix this by updating the .pwrsts for the USB GDSCs so they only > transition to retention state in low power. > > Signed-off-by: Rajendra Nayak <quic_rjendra@xxxxxxxxxxx> > Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > Tested-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <andersson@xxxxxxxxxx> > --- > v2: > *Updated the changelog > *Updated .pwrsts for gcc_usb30_sec_gdsc > > drivers/clk/qcom/gcc-sc7280.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c > index 7ff64d4d5920..7b6e5a86c11f 100644 > --- a/drivers/clk/qcom/gcc-sc7280.c > +++ b/drivers/clk/qcom/gcc-sc7280.c > @@ -3126,7 +3126,7 @@ static struct gdsc gcc_usb30_prim_gdsc = { > .pd = { > .name = "gcc_usb30_prim_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > + .pwrsts = PWRSTS_RET_ON, > .flags = VOTABLE, > }; > > @@ -3135,7 +3135,7 @@ static struct gdsc gcc_usb30_sec_gdsc = { > .pd = { > .name = "gcc_usb30_sec_gdsc", > }, > - .pwrsts = PWRSTS_OFF_ON, > + .pwrsts = PWRSTS_RET_ON, > .flags = VOTABLE, > }; > > -- > 2.17.1 >