aboutsummaryrefslogtreecommitdiff
path: root/include/linux/firmware
diff options
context:
space:
mode:
authorBartosz Golaszewski <[email protected]>2024-05-27 14:55:00 +0200
committerBjorn Andersson <[email protected]>2024-06-23 16:08:20 -0500
commit178e19c0df1b1b27668fc6ca43b25a03eda01dad (patch)
treea30547e7b249ad426c18a8e37ae6286e9a5d8425 /include/linux/firmware
parent6612103ec35af6058bb85ab24dae28e119b3c055 (diff)
firmware: qcom: scm: add support for SHM bridge operations
SHM Bridge is a safety mechanism allowing to limit the amount of memory shared between the kernel and the TrustZone to regions explicitly marked as such. Add low-level primitives for enabling SHM bridge support as well as creating and destroying SHM bridges to qcom-scm. Signed-off-by: Bartosz Golaszewski <[email protected]> Acked-by: Andrew Halaney <[email protected]> Tested-by: Andrew Halaney <[email protected]> # sc8280xp-lenovo-thinkpad-x13s Tested-by: Deepti Jaggi <[email protected]> #sa8775p-ride Reviewed-by: Elliot Berman <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Andersson <[email protected]>
Diffstat (limited to 'include/linux/firmware')
-rw-r--r--include/linux/firmware/qcom/qcom_scm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/firmware/qcom/qcom_scm.h b/include/linux/firmware/qcom/qcom_scm.h
index 77be72d40200..9f14976399ab 100644
--- a/include/linux/firmware/qcom/qcom_scm.h
+++ b/include/linux/firmware/qcom/qcom_scm.h
@@ -138,6 +138,12 @@ bool qcom_scm_lmh_dcvsh_available(void);
int qcom_scm_gpu_init_regs(u32 gpu_req);
+int qcom_scm_shm_bridge_enable(void);
+int qcom_scm_shm_bridge_create(struct device *dev, u64 pfn_and_ns_perm_flags,
+ u64 ipfn_and_s_perm_flags, u64 size_and_flags,
+ u64 ns_vmids, u64 *handle);
+int qcom_scm_shm_bridge_delete(struct device *dev, u64 handle);
+
#ifdef CONFIG_QCOM_QSEECOM
int qcom_scm_qseecom_app_get_id(const char *app_name, u32 *app_id);