summaryrefslogtreecommitdiff
path: root/drivers/tee/optee/optee_ffa.h
diff options
context:
space:
mode:
authorJens Wiklander <jens.wiklander@linaro.org>2021-11-03 13:42:30 +0300
committerJens Wiklander <jens.wiklander@linaro.org>2022-04-13 08:37:20 +0300
commited8faf6c8f8c1f7e9ee88342a915ce5f09ca9736 (patch)
tree4b752f8212c8cdd3bd202bf962a5af80520846f0 /drivers/tee/optee/optee_ffa.h
parent30c375a7f6bd2b65243b58cf0aa39791978f2b0b (diff)
downloadlinux-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