summaryrefslogtreecommitdiffstats
path: root/drivers/remoteproc
diff options
context:
space:
mode:
authorBrian Norris <briannorris@chromium.org>2018-10-08 19:08:05 -0700
committerBjorn Andersson <bjorn.andersson@linaro.org>2018-10-08 23:17:25 -0700
commitbbcda30271752bb7490f2e2aef5411dbcae69116 (patch)
treec1023520ef09a6ed6617fe1a6f20d91c5be0c36e /drivers/remoteproc
parent3bf62eb77c7918884d640a2ee25ddb542ac6d0ca (diff)
downloadlinux-bbcda30271752bb7490f2e2aef5411dbcae69116.tar.gz
linux-bbcda30271752bb7490f2e2aef5411dbcae69116.tar.bz2
linux-bbcda30271752bb7490f2e2aef5411dbcae69116.zip
remoteproc: qcom: q6v5-mss: add SCM probe dependency
The memory ownership transfer request is performed using SCM, ensure that SCM is available before we probe the driver if memory protection is needed by the subsystem. Fixes: 6c5a9dc2481b ("remoteproc: qcom: Make secure world call for mem ownership switch") Cc: stable@vger.kernel.org Signed-off-by: Brian Norris <briannorris@chromium.org> [bjorn: Added condition for need_mem_protection, updated commit message] Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r--drivers/remoteproc/qcom_q6v5_mss.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 3448f1df2e87..4c47f5e0a87c 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -1152,6 +1152,9 @@ static int q6v5_probe(struct platform_device *pdev)
if (!desc)
return -EINVAL;
+ if (desc->need_mem_protection && !qcom_scm_is_available())
+ return -EPROBE_DEFER;
+
rproc = rproc_alloc(&pdev->dev, pdev->name, &q6v5_ops,
desc->hexagon_mba_image, sizeof(*qproc));
if (!rproc) {