Hello arm-soc maintainers,
Please pull these small cleanup patches which removes two unused and
outdated TEE_IOCTL_SHM_* flags and two unused pa2va and va2pa functions for
tee_shm's.
Thanks,
Jens
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
https://git.linaro.org/people/jens.wiklander/linux-tee.git tags/tee-cleanup-for-v5.19
for you to fetch changes up to d8fc1c7c4c9b705ce5f5bba772ad66a0137c685d:
tee: remove flags TEE_IOCTL_SHM_MAPPED and TEE_IOCTL_SHM_DMA_BUF (2022-04-26 10:17:03 +0200)
----------------------------------------------------------------
TEE cleanup
Removes the old and unused TEE_IOCTL_SHM_* flags
Removes unused the unused tee_shm_va2pa() and tee_shm_pa2va() functions
----------------------------------------------------------------
Andrew Davis (2):
tee: remove tee_shm_va2pa() and tee_shm_pa2va()
tee: remove flags TEE_IOCTL_SHM_MAPPED and TEE_IOCTL_SHM_DMA_BUF
drivers/tee/tee_core.c | 2 --
drivers/tee/tee_shm.c | 50 ------------------------------------------------
include/linux/tee_drv.h | 18 -----------------
include/uapi/linux/tee.h | 4 ----
4 files changed, 74 deletions(-)
Hi all,
This patchset optimizes handling of the argument struct passed to
call_with_arg when doing a yielding call to OP-TEE.
Prior to this was this struct allocated before the yielding call and
then freed after it had returned. In case many calls are made in succession
this results in quite a bit of unnecessary allocte/free and possibly also
switching back and forth to secure work in order to register if needed.
Another optimization handles the way the argument struct needed to do RPC
is passed. Please see the patch "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG" for details.
Thanks,
Jens
v1->v2:
* Split out a separate commit "optee: rename rpc_arg_count to
rpc_param_count"
* Check optee->rpc_param_count before calling optee_disable_shm_cache().
* Mention OPTEE_SMC_CALL_WITH_REGD_ARG in commit message.
v2->v3:
* Applied Sumit's R-B to "optee: rename rpc_arg_count to rpc_param_count"
and "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG"
* Fixed some review comments to "optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG"
* Rebased on v5.18-rc1
v3->v4:
* Updated "optee: cache argument shared memory structs" to work with older
versions of the SMC-ABI when using dynamic shared memory.
Jens Wiklander (4):
optee: rename rpc_arg_count to rpc_param_count
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and
OPTEE_SMC_CALL_WITH_REGD_ARG
optee: add FF-A capability OPTEE_FFA_SEC_CAP_ARG_OFFSET
optee: cache argument shared memory structs
drivers/tee/optee/call.c | 238 ++++++++++++++++++++++++------
drivers/tee/optee/core.c | 1 +
drivers/tee/optee/ffa_abi.c | 36 +++--
drivers/tee/optee/optee_ffa.h | 12 +-
drivers/tee/optee/optee_private.h | 31 +++-
drivers/tee/optee/optee_smc.h | 48 +++++-
drivers/tee/optee/smc_abi.c | 197 ++++++++++++++++++++-----
7 files changed, 461 insertions(+), 102 deletions(-)
--
2.31.1
Hello arm-soc maintainers,
Please pull these patches which improves performance when communicating
with OP-TEE in the secure world. A cache of argument structs is
implemented to minimize the number of alloc/free and possibly also
register/unregister of these buffers in the secure world. This boosts
the performance in particular in a FF-A configuration. It should also
save a bit of shared memory since each multiple a physical page now can
hold multiple argument structs, instead of one page per struct as it was
before.
The OP-TEE SMC ABI is also extended to pass an argument struct needed
for RPC together with the primary argument struct, in a manner similar
the OP-TEE FF-A ABI.
Thanks,
Jens
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
https://git.linaro.org/people/jens.wiklander/linux-tee.git tags/optee-rpc-arg-for-v5.19
for you to fetch changes up to 5b4018b959149eb5b5f3004fc0339674af67516b:
optee: cache argument shared memory structs (2022-04-25 21:13:05 +0200)
----------------------------------------------------------------
OP-TEE RPC argument cache
Adds caching of the OP-TEE argument structure used to pass request to
secure world. This reduces quite a bit of unnecessary alloc/free and
possibly switching back and forth to secure work in order to register
the buffers in some configurations, most notably FF-A.
----------------------------------------------------------------
Jens Wiklander (4):
optee: rename rpc_arg_count to rpc_param_count
optee: add OPTEE_SMC_CALL_WITH_RPC_ARG and OPTEE_SMC_CALL_WITH_REGD_ARG
optee: add FF-A capability OPTEE_FFA_SEC_CAP_ARG_OFFSET
optee: cache argument shared memory structs
drivers/tee/optee/call.c | 238 +++++++++++++++++++++++++++++++-------
drivers/tee/optee/core.c | 1 +
drivers/tee/optee/ffa_abi.c | 36 ++++--
drivers/tee/optee/optee_ffa.h | 12 +-
drivers/tee/optee/optee_private.h | 31 ++++-
drivers/tee/optee/optee_smc.h | 48 +++++++-
drivers/tee/optee/smc_abi.c | 197 +++++++++++++++++++++++++------
7 files changed, 461 insertions(+), 102 deletions(-)
Hi ARM SoC Team,
Please pull !
Regards,
Sudeep
-->8
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/ffa-updates-5.19
for you to fetch changes up to f3f3bdbd58cea4fdd088075fdc8864fc47ecd419:
tee: optee: Use ffa_dev_get_drvdata to fetch driver_data (2022-04-29 14:51:46 +0100)
----------------------------------------------------------------
Arm FF-A firmware driver updates/fixes for v5.19
Couple of fixes to handle fragmented memory descriptors and incorrect
UUID parameter passed to ffa_partition_probe. Another fix deals with
the incorrect use of ffa_device's driver_data by the core driver.
Apart from these fixes, there is an addition of ffa_dev_get_drvdata helper
function and its use in optee driver.
----------------------------------------------------------------
Marc Bonnici (1):
firmware: arm_ffa: Fix handling of fragmented memory descriptors
Sudeep Holla (4):
firmware: arm_ffa: Fix uuid parameter to ffa_partition_probe
firmware: arm_ffa: Remove incorrect assignment of driver_data
firmware: arm_ffa: Add ffa_dev_get_drvdata helper function
tee: optee: Use ffa_dev_get_drvdata to fetch driver_data
drivers/firmware/arm_ffa/driver.c | 24 ++++++++++++++----------
drivers/tee/optee/ffa_abi.c | 2 +-
include/linux/arm_ffa.h | 7 ++++++-
3 files changed, 21 insertions(+), 12 deletions(-)
Hello arm-soc maintainers,
Please pull this patch which enables tee_shm_register_kernel_buf() to
accept vmalloc()ed buffers.
Thanks,
Jens
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
https://git.linaro.org/people/jens.wiklander/linux-tee.git tags/tee-shm-vmalloc-for-v5.19
for you to fetch changes up to 3e47235eaee09488c7e467b9aaccb7c93c862c6b:
tee: make tee_shm_register_kernel_buf vmalloc supported (2022-04-05 08:04:16 +0200)
----------------------------------------------------------------
TEE accept vmalloc()ed buffers for tee_shm_register_kernel_buf()
----------------------------------------------------------------
Phil Chang (1):
tee: make tee_shm_register_kernel_buf vmalloc supported
drivers/tee/optee/call.c | 2 +-
drivers/tee/tee_shm.c | 35 +++++++++++++++++++++++++----------
2 files changed, 26 insertions(+), 11 deletions(-)
Hello arm-soc maintainers,
Please pull this small patch which combines the config and menu for TEE's
menuconfig into one line.
Thanks,
Jens
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
https://git.linaro.org/people/jens.wiklander/linux-tee.git tags/tee-menu-for-v5.19
for you to fetch changes up to a4b75fe8e1c15c96c4eb083e211ccbbfd56599f9:
tee: combine "config" and "menu" for TEE's menuconfig (2022-04-05 07:32:23 +0200)
----------------------------------------------------------------
Combine TEE config and menu in one line
----------------------------------------------------------------
Jan Engelhardt (1):
tee: combine "config" and "menu" for TEE's menuconfig
drivers/tee/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
While we pass uuid_null intentionally to ffa_partition_probe in
ffa_setup_partitions to get the count of the partitions, it must not be
uuid_null in ffa_partition_info_get which is used by the ffa_drivers
to fetch the specific partition info passing the UUID of the partition.
Fix ffa_partition_info_get by passing the received uuid down to
ffa_partition_probe so that the correct partition information is fetched.
Fixes: d0c0bce83122 ("firmware: arm_ffa: Setup in-kernel users of FFA partitions")
Reported-by: Arunachalam Ganapathy <arunachalam.ganapathy(a)arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla(a)arm.com>
---
drivers/firmware/arm_ffa/driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index ccccecae615f..6a913ac91e8e 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -588,7 +588,7 @@ static int ffa_partition_info_get(const char *uuid_str,
return -ENODEV;
}
- count = ffa_partition_probe(&uuid_null, &pbuf);
+ count = ffa_partition_probe(&uuid, &pbuf);
if (count <= 0)
return -ENOENT;
--
2.36.0
Variable rng_size is being initialized with a value that is never read,
the variable is being re-assigned later on. The initialization is
redundant and can be removed.
Cleans up cppcheck warning:
Variable 'rng_size' is assigned a value that is never used.
Signed-off-by: Colin Ian King <colin.i.king(a)gmail.com>
---
drivers/char/hw_random/optee-rng.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/char/hw_random/optee-rng.c b/drivers/char/hw_random/optee-rng.c
index a948c0727b2b..96b5d546d136 100644
--- a/drivers/char/hw_random/optee-rng.c
+++ b/drivers/char/hw_random/optee-rng.c
@@ -115,7 +115,7 @@ static size_t get_optee_rng_data(struct optee_rng_private *pvt_data,
static int optee_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
{
struct optee_rng_private *pvt_data = to_optee_rng_private(rng);
- size_t read = 0, rng_size = 0;
+ size_t read = 0, rng_size;
int timeout = 1;
u8 *data = buf;
--
2.35.1
Hi,
OP-TEE Contributions (LOC) monthly meeting is planned for Thursday April 28
@17.00 (UTC + 2).
We have following on the agenda
- Fault Mitigation patterns in OP-TEE - Jens Wiklander
If you have any more topics you'd like to discuss, please let us know and
we can schedule them.
Meeting details:
---------------
Date/time: April 28(a)17.00 (UTC + 2)
https://everytimezone.com/s/700b9d66
Connection details: https://www.trustedfirmware.org/meetings/
Meeting notes: http://bit.ly/loc-notes
Regards,
Ruchika on behalf of the Linaro OP-TEE team