aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/remoteproc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r--drivers/remoteproc/rpres_dev.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/remoteproc/rpres_dev.c b/drivers/remoteproc/rpres_dev.c
index bf6dddc..d37200a 100644
--- a/drivers/remoteproc/rpres_dev.c
+++ b/drivers/remoteproc/rpres_dev.c
@@ -65,6 +65,8 @@ static int rpres_iss_shutdown(struct platform_device *pdev)
int ret;
struct rpres_platform_data *pdata = pdev->dev.platform_data;
+ omap_hwmod_reset(pdata->oh);
+
ret = omap_device_idle(pdev);
if (!ret)
_disable_optional_clocks(pdata->oh);
@@ -72,6 +74,15 @@ static int rpres_iss_shutdown(struct platform_device *pdev)
return ret;
}
+static int rpres_fdif_shutdown(struct platform_device *pdev)
+{
+ struct rpres_platform_data *pdata = pdev->dev.platform_data;
+
+ omap_hwmod_reset(pdata->oh);
+
+ return omap_device_idle(pdev);
+}
+
static int rpres_scale_dev(struct platform_device *pdev, long val)
{
return omap_device_scale(&pdev->dev, &pdev->dev, val);
@@ -104,7 +115,7 @@ static struct rpres_ops ivahd_ops = {
static struct rpres_ops fdif_ops = {
.start = omap_device_enable,
- .stop = omap_device_idle,
+ .stop = rpres_fdif_shutdown,
.set_lat = rpres_set_dev_lat,
.set_bw = rpres_set_l3_bw,
.scale_dev = rpres_scale_dev,