Messages in this thread | | | Date | Tue, 14 Nov 2023 12:10:18 +0100 | From | Théo Lebrun <> | 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
| |