| From 96e0bd88e2fb4fcb1625240ef36bccf0383633f6 Mon Sep 17 00:00:00 2001 |
| From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
| Date: Tue, 17 May 2022 16:53:56 +0100 |
| Subject: [PATCH 07/40] Revert "optee: use driver internal tee_context for some |
| rpc" |
| |
| This reverts commit 2922aff4339712ef004451715e94bdbd55fe38ed. |
| Upstream-Status: Pending [Not submitted to upstream yet] |
| Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com> |
| --- |
| drivers/tee/optee/core.c | 8 -------- |
| drivers/tee/optee/optee_private.h | 2 -- |
| drivers/tee/optee/rpc.c | 8 +++----- |
| 3 files changed, 3 insertions(+), 15 deletions(-) |
| |
| diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c |
| index 50c0d839fe75..5363ebebfc35 100644 |
| --- a/drivers/tee/optee/core.c |
| +++ b/drivers/tee/optee/core.c |
| @@ -588,7 +588,6 @@ static int optee_remove(struct platform_device *pdev) |
| /* Unregister OP-TEE specific client devices on TEE bus */ |
| optee_unregister_devices(); |
| |
| - teedev_close_context(optee->ctx); |
| /* |
| * Ask OP-TEE to free all cached shared memory objects to decrease |
| * reference counters and also avoid wild pointers in secure world |
| @@ -634,7 +633,6 @@ static int optee_probe(struct platform_device *pdev) |
| struct optee *optee = NULL; |
| void *memremaped_shm = NULL; |
| struct tee_device *teedev; |
| - struct tee_context *ctx; |
| u32 sec_caps; |
| int rc; |
| |
| @@ -721,12 +719,6 @@ static int optee_probe(struct platform_device *pdev) |
| optee_supp_init(&optee->supp); |
| optee->memremaped_shm = memremaped_shm; |
| optee->pool = pool; |
| - ctx = teedev_open(optee->teedev); |
| - if (IS_ERR(ctx)) { |
| - rc = PTR_ERR(ctx); |
| - goto err; |
| - } |
| - optee->ctx = ctx; |
| |
| /* |
| * Ensure that there are no pre-existing shm objects before enabling |
| diff --git a/drivers/tee/optee/optee_private.h b/drivers/tee/optee/optee_private.h |
| index ea09533e30cd..f6bb4a763ba9 100644 |
| --- a/drivers/tee/optee/optee_private.h |
| +++ b/drivers/tee/optee/optee_private.h |
| @@ -70,7 +70,6 @@ struct optee_supp { |
| * struct optee - main service struct |
| * @supp_teedev: supplicant device |
| * @teedev: client device |
| - * @ctx: driver internal TEE context |
| * @invoke_fn: function to issue smc or hvc |
| * @call_queue: queue of threads waiting to call @invoke_fn |
| * @wait_queue: queue of threads from secure world waiting for a |
| @@ -88,7 +87,6 @@ struct optee { |
| struct tee_device *supp_teedev; |
| struct tee_device *teedev; |
| optee_invoke_fn *invoke_fn; |
| - struct tee_context *ctx; |
| struct optee_call_queue call_queue; |
| struct optee_wait_queue wait_queue; |
| struct optee_supp supp; |
| diff --git a/drivers/tee/optee/rpc.c b/drivers/tee/optee/rpc.c |
| index 456833d82007..efbaff7ad7e5 100644 |
| --- a/drivers/tee/optee/rpc.c |
| +++ b/drivers/tee/optee/rpc.c |
| @@ -285,7 +285,6 @@ static struct tee_shm *cmd_alloc_suppl(struct tee_context *ctx, size_t sz) |
| } |
| |
| static void handle_rpc_func_cmd_shm_alloc(struct tee_context *ctx, |
| - struct optee *optee, |
| struct optee_msg_arg *arg, |
| struct optee_call_ctx *call_ctx) |
| { |
| @@ -315,8 +314,7 @@ static void handle_rpc_func_cmd_shm_alloc(struct tee_context *ctx, |
| shm = cmd_alloc_suppl(ctx, sz); |
| break; |
| case OPTEE_RPC_SHM_TYPE_KERNEL: |
| - shm = tee_shm_alloc(optee->ctx, sz, |
| - TEE_SHM_MAPPED | TEE_SHM_PRIV); |
| + shm = tee_shm_alloc(ctx, sz, TEE_SHM_MAPPED | TEE_SHM_PRIV); |
| break; |
| default: |
| arg->ret = TEEC_ERROR_BAD_PARAMETERS; |
| @@ -473,7 +471,7 @@ static void handle_rpc_func_cmd(struct tee_context *ctx, struct optee *optee, |
| break; |
| case OPTEE_RPC_CMD_SHM_ALLOC: |
| free_pages_list(call_ctx); |
| - handle_rpc_func_cmd_shm_alloc(ctx, optee, arg, call_ctx); |
| + handle_rpc_func_cmd_shm_alloc(ctx, arg, call_ctx); |
| break; |
| case OPTEE_RPC_CMD_SHM_FREE: |
| handle_rpc_func_cmd_shm_free(ctx, arg); |
| @@ -504,7 +502,7 @@ void optee_handle_rpc(struct tee_context *ctx, struct optee_rpc_param *param, |
| |
| switch (OPTEE_SMC_RETURN_GET_RPC_FUNC(param->a0)) { |
| case OPTEE_SMC_RPC_FUNC_ALLOC: |
| - shm = tee_shm_alloc(optee->ctx, param->a1, |
| + shm = tee_shm_alloc(ctx, param->a1, |
| TEE_SHM_MAPPED | TEE_SHM_PRIV); |
| if (!IS_ERR(shm) && !tee_shm_get_pa(shm, 0, &pa)) { |
| reg_pair_from_64(¶m->a1, ¶m->a2, pa); |
| -- |
| 2.34.1 |
| |