aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/remoteproc
diff options
context:
space:
mode:
authorFernando Guzman Lugo <fernando.lugo@ti.com>2011-10-21 14:09:51 -0500
committerFernando Guzman Lugo <fernando.lugo@ti.com>2011-10-21 14:25:25 -0500
commit17745d4ce57b8454b7082087b48b3e2027fdf5bc (patch)
tree9597da61b706e392bf5995ec5d7fd59f1ef02e82 /drivers/remoteproc
parent7dee1c23ce99bb9ebe778d3b1d6ce23bb7578e99 (diff)
downloadkernel_samsung_tuna-17745d4ce57b8454b7082087b48b3e2027fdf5bc.tar.gz
kernel_samsung_tuna-17745d4ce57b8454b7082087b48b3e2027fdf5bc.tar.bz2
kernel_samsung_tuna-17745d4ce57b8454b7082087b48b3e2027fdf5bc.zip
remoteproc: disable autosuspend when enter secure mode
Secure module reads iommu register in order to avoid modification by malicious code. For that reason iommu can not be turned off during secure play back. Change-Id: I2457f538c2f227dca5e6f44c817e4d0faf147e88 Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r--drivers/remoteproc/remoteproc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/remoteproc/remoteproc.c b/drivers/remoteproc/remoteproc.c
index 680a701f11d..907fc011bf0 100644
--- a/drivers/remoteproc/remoteproc.c
+++ b/drivers/remoteproc/remoteproc.c
@@ -675,7 +675,8 @@ static void rproc_start(struct rproc *rproc, u64 bootaddr)
pm_runtime_set_autosuspend_delay(dev, rproc->sus_timeout);
pm_runtime_get_noresume(rproc->dev);
pm_runtime_set_active(rproc->dev);
- pm_runtime_enable(rproc->dev);
+ if (!rproc->secure_mode)
+ pm_runtime_enable(rproc->dev);
pm_runtime_mark_last_busy(rproc->dev);
pm_runtime_put_autosuspend(rproc->dev);
#endif
@@ -1340,7 +1341,9 @@ void rproc_put(struct rproc *rproc)
*/
pm_runtime_get_sync(rproc->dev);
pm_runtime_put_noidle(rproc->dev);
- pm_runtime_disable(rproc->dev);
+ if (!rproc->secure_reset)
+ pm_runtime_disable(rproc->dev);
+
pm_runtime_set_suspended(rproc->dev);
#endif
ret = rproc->ops->stop(rproc);