Re: [PATCH] usb: host: ohci-at91: add support to enter suspend using SMC

From: Alan Stern
Date: Tue Jun 07 2022 - 09:22:16 EST


On Tue, Jun 07, 2022 at 09:07:59AM +0200, Clément Léger wrote:
> Le Mon, 6 Jun 2022 14:12:52 -0400,
> Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> a écrit :
>
> > On Mon, Jun 06, 2022 at 04:18:02PM +0200, Clément Léger wrote:
> > > When Linux is running under OP-TEE, the SFR is set as secured and thus
> > > the AT91_OHCIICR_USB_SUSPEND register isn't accessible. Add a SMC to
> > > do the appropriate call to suspend the controller.
> > > The SMC id is fetched from the device-tree property
> > > "microchip,suspend-smc-id". if present, then the syscon regmap is not
> > > used to enter suspend and a SMC is issued.
> > >
> > > Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx>
> > > ---
> >
> > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> >
> > However, this is a little weird... You've written
> > usb_hcd_at91_probe() so that the SMC is detected in preference to the
> > regmap, but then you wrote ohci_at91_port_suspend() so that the regmap
> > is used in preference to the SMC. It's not wrong, but it is confusing
> > to read.
> >
> > Do you want to rewrite the patch to make the two routines agree on which
> > mechanism to use by default?
> >
> > Alan Stern
>
> Hi Alan,
>
> I'll rewrite that ! I did it in this specific order in the probe to
> allow overloading the device-tree with a SMC ID without removing the
> syscon property. This way, the regmap stays the default if no
> "microchip,suspend-smc-id" property is provided.
>
> Does it sounds good to you ?

Sure. Just make ohci_at91_port_suspend() try to use the SMC first, and
then use the regmap only if the SMC ID hasn't been set.

Alan Stern