Re: [PATCH 2/2] clk: qcom: gcc-sc7280: Keep USB GDSC power domains on when USB wakeup is enabled

Johan Hovold
2022-08-26T13:12:03Z

On Fri, Aug 26, 2022 at 06:05:19AM -0700, Matthias Kaehlcke wrote:
> On Thu, Aug 25, 2022 at 03:16:58PM -0700, Matthias Kaehlcke wrote:
> > On Wed, Aug 24, 2022 at 10:47:44AM +0200, Johan Hovold wrote:

> > > The wakeup setting doesn't seem to have anything to do with the genpd
> > > issues on sc8280xp and the controller doesn't resume properly regardless
> > > of whether the PHYs have been disabled or not during suspend unless the
> > > PD is left on.
> >
> > I'm essentially seeing the same. USB is hosed after resume unless the PD
> > is left on.
> >
> > On Chrome OS we currently work around that with a version of commit
> > d9be8d5c5b03 ("usb: dwc3: qcom: Keep power domain on to retain controller
> > status") which was reverted upstream. I'm not sure whether USB worked after
> > resume before we enabled wakeup support. I would have sworn it did, but we
> > landed an old version of the wakeup patches a long time ago, so my
> > memory might be failing me.
>
> I need to remind myself that keeping the GDSC on is only needed when the PHYs
> are kept on. The PHYs were always off before wakeup support was added, which
> is why USB wasn't broken after suspend in the pre-wakeup days.

Ok, so to be clear: if you disable wakeup with my patches applied so
that the PD is actually turned off, USB still resumes with only
GENPD_FLAG_ACTIVE_WAKEUP set?

That is, you don't need to set ALWAYS_ON as I do with sc8280xp?

Johan