[PATCH v16 09/10] arm_ffa: efi: introduce FF-A MM communication

Abdellatif El Khlifi abdellatif.elkhlifi at arm.com
Thu Jul 27 14:36:44 CEST 2023


Hi Ilias,

On Thu, Jul 27, 2023 at 02:27:21PM +0300, Ilias Apalodimas wrote:
> Hi Abdellatif, 
> 
> [...]
> 
> > +}
> > +
> > +/**
> > + * get_mm_comms() - detect the available MM transport
> > + *
> > + * Make sure the FF-A bus is probed successfully
> > + * which means FF-A communication with secure world works and ready
> > + * for use.
> > + *
> > + * If FF-A bus is not ready, use OPTEE comms.
> > + *
> > + * Return:
> > + *
> > + * MM_COMMS_FFA or MM_COMMS_OPTEE
> > + */
> > +static enum mm_comms_select get_mm_comms(void)
> > +{
> > +	struct udevice *dev;
> > +	int ret;
> > +
> > +	ret = uclass_first_device_err(UCLASS_FFA, &dev);
> > +	if (ret) {
> > +		log_err("EFI: Cannot find FF-A bus device, trying Optee comms\n");
> 
> This isn't an error.  If you mark it as one it will pollute the console
> every time you try to decide if it's an FFA or an SMC call to op-tee.  So
> either remote this or switch it to log_debug or something.  While at it,

Good point, thanks. I'll replace it with log_debug.

> any reason why we need to keep probing the ffa bus?  Can't we just run this
> once during init?
> 

Probing the FF-A bus is only done once. Subsequent calls to uclass_first_device_err()
will not probe again, they only return the dev.
An existing dev means FF-A bus is up and running. Failure to find a dev means either FF-A discovery failed
(e.g: FF-A no implemented in secure world), or probing failed (e.g: a setup FF-A ABI failed).

Cheers,
Abdellatif


More information about the U-Boot mailing list