From: Bartosz Golaszewski Date: Mon, 27 May 2024 12:55:02 +0000 (+0200) Subject: firmware: qcom: scm: add support for SHM bridge memory carveout X-Git-Tag: v6.11-rc1~189^2~14^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a33b2579c8d303b353a1f7c743b096f150da70fa;p=thirdparty%2Flinux.git firmware: qcom: scm: add support for SHM bridge memory carveout Parse the "memory-region" property and - if present - use it to assign the dedicated reserved memory to the underlying DMA callbacks which will then allocate memory for the SCM calls from it. Signed-off-by: Bartosz Golaszewski Reviewed-by: Elliot Berman Link: https://lore.kernel.org/r/20240527-shm-bridge-v10-12-ce7afaa58d3a@linaro.org Signed-off-by: Bjorn Andersson --- diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c index 19950ec801c29..df748fa8af4d4 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -1956,6 +1957,11 @@ static int qcom_scm_probe(struct platform_device *pdev) if (of_property_read_bool(pdev->dev.of_node, "qcom,sdi-enabled")) qcom_scm_disable_sdi(); + ret = of_reserved_mem_device_init(__scm->dev); + if (ret && ret != -ENODEV) + return dev_err_probe(__scm->dev, ret, + "Failed to setup the reserved memory region for TZ mem\n"); + ret = qcom_tzmem_enable(__scm->dev); if (ret) return dev_err_probe(__scm->dev, ret,