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

Alan Stern stern at rowland.harvard.edu
Tue Jun 7 06:22:08 PDT 2022


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 at rowland.harvard.edu> 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 at bootlin.com>
> > > ---  
> > 
> > Acked-by: Alan Stern <stern at rowland.harvard.edu>
> > 
> > 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



More information about the linux-arm-kernel mailing list