[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230130094157.1082712-2-etienne.carriere@linaro.org>
Date: Mon, 30 Jan 2023 10:41:57 +0100
From: Etienne Carriere <etienne.carriere@...aro.org>
To: linux-kernel@...r.kernel.org
Cc: linux-arm-kernel@...ts.infradead.org,
Jens Wiklander <jens.wiklander@...aro.org>,
Sumit Garg <sumit.garg@...aro.org>,
Sudeep Holla <sudeep.holla@....com>,
Cristian Marussi <cristian.marussi@....com>,
Etienne Carriere <etienne.carriere@...aro.org>
Subject: [PATCH 2/2] firmware: arm_scmi: optee: use optee system invocation
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@...aro.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;
--
2.25.1
Powered by blists - more mailing lists