Message ID | 20220901101756.28164-3-quic_rjendra@quicinc.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | [1/3] clk: qcom: gdsc: Fix the handling of PWRSTS_RET support | expand |
On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > USB on sc7280 cannot support wakeups from low power states > if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > only transitions to RET in low power. > > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Tested-by: Matthias Kaehlcke <mka@chromium.org>
On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > USB on sc7280 cannot support wakeups from low power states > if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > only transitions to RET in low power. It seems this isn't just needed for wakeup to work. On both sc7280 and sc8280xp the controller doesn't resume properly if the domain has been powered off (i.e. regardless of whether wakeup is enabled or not). Are you sure there's no state that needs to be retained regardless of the wakeup setting? > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > --- > drivers/clk/qcom/gcc-sc7280.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c > index 7ff64d4d5920..de29a034e725 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, > }; And what about gcc_usb30_sec_gdsc? Johan
On Thu, Sep 01, 2022 at 09:04:55AM -0700, Matthias Kaehlcke wrote: > On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > > USB on sc7280 cannot support wakeups from low power states > > if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > > only transitions to RET in low power. > > > > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > Tested-by: Matthias Kaehlcke <mka@chromium.org> Did you confirm that you actually hit the retention state? IIUC, this series is equivalent to using ALWAYS_ON unless CX is actually powered off during suspend. Johan
On 9/14/2022 12:39 PM, Johan Hovold wrote: > On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: >> USB on sc7280 cannot support wakeups from low power states >> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it >> only transitions to RET in low power. > > It seems this isn't just needed for wakeup to work. On both sc7280 and > sc8280xp the controller doesn't resume properly if the domain has been > powered off (i.e. regardless of whether wakeup is enabled or not). > Hi Johan, I believe you are referring to the reinit that happens in xhci resume path after wakeup happens: [ 48.675839] xhci-hcd xhci-hcd.14.auto: xHC error in resume, USBSTS 0x411, Reinit I see that when USB GDSC is not in retention, we don't retain controller state and go for reinit and re-enum of connected devices. We are seeing an additional delay of around ~0.7 sec (in chromebooks running on SC7280) in the wakeup path for re-enumeration of connected USB devices. To avoid this, we wanted to put GDSC in retention during PM suspend. > Are you sure there's no state that needs to be retained regardless of > the wakeup setting? > >> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >> --- >> drivers/clk/qcom/gcc-sc7280.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c >> index 7ff64d4d5920..de29a034e725 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, >> }; > > And what about gcc_usb30_sec_gdsc? Currently wakeup is not enabled on secondary controller as its not required for end product platform (herobrine variant). So leaving the usb30_sec_gdsc as it is for now. Regards, Krishna,
On Wed, Sep 14, 2022 at 02:07:06PM +0530, Krishna Kurapati PSSNV wrote: > On 9/14/2022 12:39 PM, Johan Hovold wrote: > > On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > >> USB on sc7280 cannot support wakeups from low power states > >> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > >> only transitions to RET in low power. > > > > It seems this isn't just needed for wakeup to work. On both sc7280 and > > sc8280xp the controller doesn't resume properly if the domain has been > > powered off (i.e. regardless of whether wakeup is enabled or not). > I believe you are referring to the reinit that happens in xhci resume > path after wakeup happens: > > [ 48.675839] xhci-hcd xhci-hcd.14.auto: xHC error in resume, USBSTS > 0x411, Reinit Right, and on sc8280xp the controller doesn't survive resume at all. > I see that when USB GDSC is not in retention, we don't retain controller > state and go for reinit and re-enum of connected devices. We are seeing > an additional delay of around ~0.7 sec (in chromebooks running on > SC7280) in the wakeup path for re-enumeration of connected USB devices. > To avoid this, we wanted to put GDSC in retention during PM suspend. Thanks for confirming. This needs to be described in the commit message of this patches, which currently only says that this change is needed for wakeup. > > Are you sure there's no state that needs to be retained regardless of > > the wakeup setting? > > > >> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > >> --- > >> drivers/clk/qcom/gcc-sc7280.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c > >> index 7ff64d4d5920..de29a034e725 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, > >> }; > > > > And what about gcc_usb30_sec_gdsc? > > Currently wakeup is not enabled on secondary controller as its not > required for end product platform (herobrine variant). So leaving the > usb30_sec_gdsc as it is for now. This is generic code that can be used in different products and if this is needed for the first controller it is also needed for the second (i.e. even if wakeup isn't wired up or used on the products you are working on). Johan
On 9/14/2022 2:07 PM, Krishna Kurapati PSSNV wrote: > > > On 9/14/2022 12:39 PM, Johan Hovold wrote: >> On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: >>> USB on sc7280 cannot support wakeups from low power states >>> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it >>> only transitions to RET in low power. >> >> It seems this isn't just needed for wakeup to work. On both sc7280 and >> sc8280xp the controller doesn't resume properly if the domain has been >> powered off (i.e. regardless of whether wakeup is enabled or not). >> > Hi Johan, > > I believe you are referring to the reinit that happens in xhci resume path after wakeup happens: > > [ 48.675839] xhci-hcd xhci-hcd.14.auto: xHC error in resume, USBSTS 0x411, Reinit > > I see that when USB GDSC is not in retention, we don't retain controller state and go for reinit and re-enum of connected devices. We are seeing an additional delay of around ~0.7 sec (in chromebooks running on SC7280) in the wakeup path for re-enumeration of connected USB devices. To avoid this, we wanted to put GDSC in retention during PM suspend. ok, so perhaps the commit msg should be updated to something like 'USB on sc7280 needs to prevent the GDSC from being turned OFF for a couple of reasons 1. To prevent re-init and re-enumeration of all connected devices resulting in additional delay coming out of low power states 2. To support wakeups from connected devices from low power states' > >> Are you sure there's no state that needs to be retained regardless of >> the wakeup setting? >> >>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >>> --- >>> drivers/clk/qcom/gcc-sc7280.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c >>> index 7ff64d4d5920..de29a034e725 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, >>> }; >> >> And what about gcc_usb30_sec_gdsc? > > Currently wakeup is not enabled on secondary controller as its not required for end product platform (herobrine variant). So leaving the usb30_sec_gdsc as it is for now. It perhaps makes sense to update that as well, and given this is a compute specific chipset and we dont have to worry about USB in device mode, its safe to assume if and when that controller is used (in future designs) it would only support host mode?
[ Please try to wrap your replies at 72 columns or so. ] On Wed, Sep 14, 2022 at 02:28:31PM +0530, Rajendra Nayak wrote: > > On 9/14/2022 2:07 PM, Krishna Kurapati PSSNV wrote: > > > > > > On 9/14/2022 12:39 PM, Johan Hovold wrote: > >> On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > >>> USB on sc7280 cannot support wakeups from low power states > >>> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > >>> only transitions to RET in low power. > >> > >> It seems this isn't just needed for wakeup to work. On both sc7280 and > >> sc8280xp the controller doesn't resume properly if the domain has been > >> powered off (i.e. regardless of whether wakeup is enabled or not). > >> > > Hi Johan, > > > > I believe you are referring to the reinit that happens in xhci resume path after wakeup happens: > > > > [ 48.675839] xhci-hcd xhci-hcd.14.auto: xHC error in resume, USBSTS 0x411, Reinit > > > > I see that when USB GDSC is not in retention, we don't retain controller state and go for reinit and re-enum of connected devices. We are seeing an additional delay of around ~0.7 sec (in chromebooks running on SC7280) in the wakeup path for re-enumeration of connected USB devices. To avoid this, we wanted to put GDSC in retention during PM suspend. > > ok, so perhaps the commit msg should be updated to something like > > 'USB on sc7280 needs to prevent the GDSC from being turned OFF for a couple of reasons > 1. To prevent re-init and re-enumeration of all connected devices resulting in additional delay coming out of low power states > 2. To support wakeups from connected devices from low power states' The fundamental issue here is that state is lost during suspend which the driver doesn't currently (or can not) restore. Doesn't hurt to mention the specific consequences you list above as well. > >> Are you sure there's no state that needs to be retained regardless of > >> the wakeup setting? > >> > >>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > >>> --- > >>> drivers/clk/qcom/gcc-sc7280.c | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c > >>> index 7ff64d4d5920..de29a034e725 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, > >>> }; > >> > >> And what about gcc_usb30_sec_gdsc? > > > > Currently wakeup is not enabled on secondary controller as its not required for end product platform (herobrine variant). So leaving the usb30_sec_gdsc as it is for now. > > It perhaps makes sense to update that as well, and given this is a compute specific chipset and we dont have to worry about > USB in device mode, its safe to assume if and when that controller is used (in future designs) it would only support host mode? What would be the problem when using the controller in peripheral mode? Don't you want to retain the controller state when suspended also in that case? Johan
On 9/14/2022 2:37 PM, Johan Hovold wrote: > [ Please try to wrap your replies at 72 columns or so. ] > > On Wed, Sep 14, 2022 at 02:28:31PM +0530, Rajendra Nayak wrote: >> >> On 9/14/2022 2:07 PM, Krishna Kurapati PSSNV wrote: >>> >>> >>> On 9/14/2022 12:39 PM, Johan Hovold wrote: >>>> On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: >>>>> USB on sc7280 cannot support wakeups from low power states >>>>> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it >>>>> only transitions to RET in low power. >>>> >>>> It seems this isn't just needed for wakeup to work. On both sc7280 and >>>> sc8280xp the controller doesn't resume properly if the domain has been >>>> powered off (i.e. regardless of whether wakeup is enabled or not). >>>> >>> Hi Johan, >>> >>> I believe you are referring to the reinit that happens in xhci resume path after wakeup happens: >>> >>> [ 48.675839] xhci-hcd xhci-hcd.14.auto: xHC error in resume, USBSTS 0x411, Reinit >>> >>> I see that when USB GDSC is not in retention, we don't retain controller state and go for reinit and re-enum of connected devices. We are seeing an additional delay of around ~0.7 sec (in chromebooks running on SC7280) in the wakeup path for re-enumeration of connected USB devices. To avoid this, we wanted to put GDSC in retention during PM suspend. >> >> ok, so perhaps the commit msg should be updated to something like >> >> 'USB on sc7280 needs to prevent the GDSC from being turned OFF for a couple of reasons >> 1. To prevent re-init and re-enumeration of all connected devices resulting in additional delay coming out of low power states >> 2. To support wakeups from connected devices from low power states' > > The fundamental issue here is that state is lost during suspend which > the driver doesn't currently (or can not) restore. Doesn't hurt to > mention the specific consequences you list above as well. > >>>> Are you sure there's no state that needs to be retained regardless of >>>> the wakeup setting? >>>> >>>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >>>>> --- >>>>> drivers/clk/qcom/gcc-sc7280.c | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c >>>>> index 7ff64d4d5920..de29a034e725 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, >>>>> }; >>>> >>>> And what about gcc_usb30_sec_gdsc? >>> >>> Currently wakeup is not enabled on secondary controller as its not required for end product platform (herobrine variant). So leaving the usb30_sec_gdsc as it is for now. >> >> It perhaps makes sense to update that as well, and given this is a compute specific chipset and we dont have to worry about >> USB in device mode, its safe to assume if and when that controller is used (in future designs) it would only support host mode? > > What would be the problem when using the controller in peripheral mode? > Don't you want to retain the controller state when suspended also in > that case? > Hi Johan. You're right. When peripheral bus suspend lands in, we might need to keep GDSC ON in device mode as well. Regards, Krishna,
On Wed, Sep 14, 2022 at 09:12:36AM +0200, Johan Hovold wrote: > On Thu, Sep 01, 2022 at 09:04:55AM -0700, Matthias Kaehlcke wrote: > > On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > > > USB on sc7280 cannot support wakeups from low power states > > > if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > > > only transitions to RET in low power. > > > > > > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > > > > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > > Tested-by: Matthias Kaehlcke <mka@chromium.org> > > Did you confirm that you actually hit the retention state? No, how would I do that? > IIUC, this series is equivalent to using ALWAYS_ON unless CX is actually > powered off during suspend. The count in /sys/kernel/debug/qcom_stats/cxsd increses with each suspend, however it also does that with the GDSC configured as ALWAYS_ON and with Rajendra's "arm64: dts: qcom: sc7280: Add required-opps for USB" [1], so I guess that isn't the correct signal. https://patchwork.kernel.org/project/linux-arm-msm/patch/20220914053017.23617-1-quic_rjendra@quicinc.com/
On 9/15/2022 2:53 AM, Matthias Kaehlcke wrote: > On Wed, Sep 14, 2022 at 09:12:36AM +0200, Johan Hovold wrote: >> On Thu, Sep 01, 2022 at 09:04:55AM -0700, Matthias Kaehlcke wrote: >>> On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: >>>> USB on sc7280 cannot support wakeups from low power states >>>> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it >>>> only transitions to RET in low power. >>>> >>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >>> >>> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> >>> Tested-by: Matthias Kaehlcke <mka@chromium.org> >> >> Did you confirm that you actually hit the retention state? > > No, how would I do that? > >> IIUC, this series is equivalent to using ALWAYS_ON unless CX is actually >> powered off during suspend. > > The count in /sys/kernel/debug/qcom_stats/cxsd increses with each suspend, > however it also does that with the GDSC configured as ALWAYS_ON and with > Rajendra's "arm64: dts: qcom: sc7280: Add required-opps for USB" [1], so hmm, that's really not expected. With my above patch and with the GDSC as ALWAYS_ON there is a cx vote in suspend preventing cxsd so the counter should not go up. > I guess that isn't the correct signal. > > https://patchwork.kernel.org/project/linux-arm-msm/patch/20220914053017.23617-1-quic_rjendra@quicinc.com/
On 9/15/2022 12:55 PM, Rajendra Nayak wrote: > > > On 9/15/2022 2:53 AM, Matthias Kaehlcke wrote: >> On Wed, Sep 14, 2022 at 09:12:36AM +0200, Johan Hovold wrote: >>> On Thu, Sep 01, 2022 at 09:04:55AM -0700, Matthias Kaehlcke wrote: >>>> On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: >>>>> USB on sc7280 cannot support wakeups from low power states >>>>> if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it >>>>> only transitions to RET in low power. >>>>> >>>>> Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> >>>> >>>> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> >>>> Tested-by: Matthias Kaehlcke <mka@chromium.org> >>> >>> Did you confirm that you actually hit the retention state? >> >> No, how would I do that? >> >>> IIUC, this series is equivalent to using ALWAYS_ON unless CX is actually >>> powered off during suspend. >> >> The count in /sys/kernel/debug/qcom_stats/cxsd increses with each suspend, >> however it also does that with the GDSC configured as ALWAYS_ON and with >> Rajendra's "arm64: dts: qcom: sc7280: Add required-opps for USB" [1], so > > hmm, that's really not expected. With my above patch and with the GDSC as > ALWAYS_ON there is a cx vote in suspend preventing cxsd so the counter > should not go up. Perhaps you are missing '1b771839: clk: qcom: gdsc: enable optional power domain support' in your tree? > >> I guess that isn't the correct signal. >> >> https://patchwork.kernel.org/project/linux-arm-msm/patch/20220914053017.23617-1-quic_rjendra@quicinc.com/
On Thu, Sep 15, 2022 at 06:59:36PM +0530, Rajendra Nayak wrote: > > On 9/15/2022 12:55 PM, Rajendra Nayak wrote: > > > > > > On 9/15/2022 2:53 AM, Matthias Kaehlcke wrote: > > > On Wed, Sep 14, 2022 at 09:12:36AM +0200, Johan Hovold wrote: > > > > On Thu, Sep 01, 2022 at 09:04:55AM -0700, Matthias Kaehlcke wrote: > > > > > On Thu, Sep 01, 2022 at 03:47:56PM +0530, Rajendra Nayak wrote: > > > > > > USB on sc7280 cannot support wakeups from low power states > > > > > > if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it > > > > > > only transitions to RET in low power. > > > > > > > > > > > > Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> > > > > > > > > > > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > > > > > Tested-by: Matthias Kaehlcke <mka@chromium.org> > > > > > > > > Did you confirm that you actually hit the retention state? > > > > > > No, how would I do that? > > > > > > > IIUC, this series is equivalent to using ALWAYS_ON unless CX is actually > > > > powered off during suspend. > > > > > > The count in /sys/kernel/debug/qcom_stats/cxsd increses with each suspend, > > > however it also does that with the GDSC configured as ALWAYS_ON and with > > > Rajendra's "arm64: dts: qcom: sc7280: Add required-opps for USB" [1], so > > > > hmm, that's really not expected. With my above patch and with the GDSC as > > ALWAYS_ON there is a cx vote in suspend preventing cxsd so the counter > > should not go up. > > Perhaps you are missing '1b771839: clk: qcom: gdsc: enable optional power domain support' > in your tree? Indeed, that patch was missing in our tree, thanks for the pointer! With it the CXSD count does not increase when the GDSC is configured as ALWAYS_ON.
diff --git a/drivers/clk/qcom/gcc-sc7280.c b/drivers/clk/qcom/gcc-sc7280.c index 7ff64d4d5920..de29a034e725 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, };
USB on sc7280 cannot support wakeups from low power states if the GDSC is turned OFF. Update the .pwrsts for usb GDSC so it only transitions to RET in low power. Signed-off-by: Rajendra Nayak <quic_rjendra@quicinc.com> --- drivers/clk/qcom/gcc-sc7280.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)