diff options
author | Jens Wiklander <jens.wiklander@linaro.org> | 2021-11-03 13:42:30 +0300 |
---|---|---|
committer | Jens Wiklander <jens.wiklander@linaro.org> | 2022-04-13 08:37:20 +0300 |
commit | ed8faf6c8f8c1f7e9ee88342a915ce5f09ca9736 (patch) | |
tree | 4b752f8212c8cdd3bd202bf962a5af80520846f0 /drivers/tee/optee/optee_ffa.h | |
parent | 30c375a7f6bd2b65243b58cf0aa39791978f2b0b (diff) | |
download | linux-ed8faf6c8f8c1f7e9ee88342a915ce5f09ca9736.tar.xz |
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG
Adds OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG where
the struct optee_msg_arg to be used for RPC is appended in the memory
following the normal argument struct optee_msg_arg. This is an
optimization to avoid caching the RPC argument struct while still
maintaining similar performance as if it was cached.
OPTEE_SMC_CALL_WITH_REGD_ARG optimized one step further by using a
registered shared memory object instead. It's in other aspects identical
to OPTEE_SMC_CALL_WITH_RPC_ARG.
The presence of OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG is indicated by the new
OPTEE_SMC_SEC_CAP_RPC_ARG bit returned by
OPTEE_SMC_EXCHANGE_CAPABILITIES. OPTEE_SMC_EXCHANGE_CAPABILITIES also
reports the number of arguments that the RPC argument struct must have
room for.
OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_ARG can be used
interleaved with difference that when OPTEE_SMC_CALL_WITH_RPC_ARG is
used the RPC argument struct to be used is the one appended to the
normal argument struct. The same is true for
OPTEE_SMC_CALL_WITH_REGD_ARG.
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'drivers/tee/optee/optee_ffa.h')
0 files changed, 0 insertions, 0 deletions