[PATCH 2/2] firmware: arm_scmi: optee: use optee system invocation

Cristian Marussi cristian.marussi at arm.com
Fri Feb 3 06:36:26 PST 2023


On Mon, Jan 30, 2023 at 10:41:57AM +0100, Etienne Carriere wrote:
> Changes SCMI optee transport to enable sys_service capability of
> its tee context to leverage provisioned system resources in OP-TEE
> preventing possible deadlock.
> 
> Such deadlock could happen when many Linux clients invoke OP-TEE are
> are all suspended waiting for an OP-TEE RPC request access an SCMI
> resource through the SCMI OP-TEE PTA service.
> 
> Signed-off-by: Etienne Carriere <etienne.carriere at linaro.org>
> ---
>  drivers/firmware/arm_scmi/optee.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/firmware/arm_scmi/optee.c b/drivers/firmware/arm_scmi/optee.c
> index 2a7aeab40e54..91840345e946 100644
> --- a/drivers/firmware/arm_scmi/optee.c
> +++ b/drivers/firmware/arm_scmi/optee.c
> @@ -559,6 +559,9 @@ static int scmi_optee_service_probe(struct device *dev)
>  	if (IS_ERR(tee_ctx))
>  		return -ENODEV;
>  
> +	/* SCMI agent can used TEE system service resources */
> +	tee_ctx->sys_service = true;
> +
>  	agent = devm_kzalloc(dev, sizeof(*agent), GFP_KERNEL);
>  	if (!agent) {
>  		ret = -ENOMEM;

LGTM.

I suppose you'll sync-up with Sudeep for how to queue this whole series.

Thanks,
Cristian



More information about the linux-arm-kernel mailing list