[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <CWYHLRBFE1X1.15330WETL2R7U@tleb-bootlin-xps13-01>
Date: Tue, 14 Nov 2023 12:10:18 +0100
From: Théo Lebrun <theo.lebrun@...tlin.com>
To: "Peter Chen" <peter.chen@...nel.org>
Cc: "Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
"Rob Herring" <robh+dt@...nel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
"Conor Dooley" <conor+dt@...nel.org>,
"Roger Quadros" <rogerq@...nel.org>,
"Pawel Laszczak" <pawell@...ence.com>,
"Nishanth Menon" <nm@...com>,
"Vignesh Raghavendra" <vigneshr@...com>,
"Tero Kristo" <kristo@...nel.org>, <linux-usb@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 4/6] usb: cdns3: support power-off of controller when in
host role
Hello,
On Tue Nov 14, 2023 at 9:38 AM CET, Peter Chen wrote:
> On 23-11-13 15:26:59, Théo Lebrun wrote:
> > The controller is not being reconfigured at resume. Change resume to
> > redo hardware config if quirk CDNS3_RESET_ON_RESUME is active.
>
> Current logic has power off judgement, see cdns3_controller_resume for
> detail.
Indeed! Thanks for the pointer. I had not noticed that, those patches
come from an older kernel which didn't have it. That'll make for less
changes; patches 4 & 5 can go away.
> > + if (cdns->pdata && cdns->pdata->quirks & CDNS3_RESET_ON_RESUME)
> > + cdns->xhci_plat_data->quirks |= XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS;
> > +
>
> If you set this flag, how could you support the USB remote wakeup
> request? In that case, the USB bus does not expect re-enumeration.
We didn't support remote USB wakeup. Only S2R mattered in our case and
USB remote wakeup wasn't a possibility.
> > +static int cdns_host_resume(struct cdns *cdns, bool hibernated)
> > +{
> > + return cdns_drd_host_on(cdns);
>
> This one will redo if controller's power is off, please consider both
> on and power situation.
Clearly. Can see that at runtime.
Thanks for the review!
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists