Re: [PATCH] ARM: OMAP: Use ARM SMC Calling Convention when OP-TEE is available

Andrew F. Davis
2019-12-16T22:34:17Z

On 12/16/19 4:04 PM, Tony Lindgren wrote:
> * Andrew F. Davis <afd@ti.com> [191216 20:57]:
>> Looks like the TI quirk idea is not moving forward, even the QCOM quirk
>> looks like it may get kicked out. arm_smccc_smc() will remain only for
>> SMCCC compliant calls, but it looks like a generic arm_smc() wouldn't be
>> too opposed upstream.
>
> Yes so it seems.
>
>> Either way this patch would still be valid as when OP-TEE is present
>> then arm_smccc_smc() will be the right call to make, how we handle the
>> legacy calls can be sorted out later if a generic SMC call is implemented.
>
> Please see my comment regarding this patch earlier in this thread
> pasted below for convenience:
>
> * Tony Lindgren <tony@atomide.com> [191119 16:22]:
>> In any case, you should do the necessary checks for HAVE_ARM_SMCCC
>> only once during init. I'm not sure how much checking for
>> "/firmware/optee" helps here, sounds like we have a broken system
>> if the firmware is not there while the arm_smccc_smc() should
>> still work just fine :)
>
> So only check once during init. And during init, you should probably
> also check that arm_smccc_smc() actually infd optee if
> "/firmware/optee" is set, and only then set set the right function
> pointer or some flag.
>

Okay, I'll check only once and make sure the node is "okay".

I'll do the check during the first call to an SMC caller, I wouldn't
want to pollute the OMAP generic init code for something that is only
called on HS platforms, plus these SMC calls are rare (only 3 calls
during boot of AM57x for instance) so performance is not critical, so I
don't want to do anything fancy like code patching :), I'll just use a flag.

Thanks,
Andrew

> Regards,
>
> Tony
>