diff options
author | Miguel Vadillo <vadillo@ti.com> | 2011-10-21 15:19:56 -0500 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2011-10-21 13:38:18 -0700 |
commit | dc8f85b6b2e637752829caa706f769e53eb9ef73 (patch) | |
tree | 65a3a206ef6a02c662950a4054e8f8ad1cf1a911 /drivers/remoteproc | |
parent | 17745d4ce57b8454b7082087b48b3e2027fdf5bc (diff) | |
download | kernel_samsung_tuna-dc8f85b6b2e637752829caa706f769e53eb9ef73.tar.gz kernel_samsung_tuna-dc8f85b6b2e637752829caa706f769e53eb9ef73.tar.bz2 kernel_samsung_tuna-dc8f85b6b2e637752829caa706f769e53eb9ef73.zip |
omap4: remoteproc: wake up clkdm in activate() to access iommu
iommu is part of the domain of each remoteproc; wake the domain
in activate function as well.
This change was missed in: 61a044d436aa1891d08010d027cc3d13ab2cbf0f
Change-Id: Ibe4fcfd9664796b7f60ff4f6d122b4af078de627
Signed-off-by: Miguel Vadillo <vadillo@ti.com>
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r-- | drivers/remoteproc/omap_remoteproc.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/remoteproc/omap_remoteproc.c b/drivers/remoteproc/omap_remoteproc.c index 1e01a3361c4..d86b4b4452e 100644 --- a/drivers/remoteproc/omap_remoteproc.c +++ b/drivers/remoteproc/omap_remoteproc.c @@ -192,13 +192,23 @@ int omap_rproc_activate(struct omap_device *od) #ifdef CONFIG_REMOTE_PROC_AUTOSUSPEND struct omap_rproc_priv *rpp = rproc->priv; struct iommu *iommu; +#endif + /** + * Domain is in HW SUP thus in hw_auto but + * since remoteproc will be enabled clkdm + * needs to be in sw_sup (Do not let it idle). + */ + if (pdata->clkdm) + clkdm_wakeup(pdata->clkdm); +#ifdef CONFIG_REMOTE_PROC_AUTOSUSPEND if (!rpp->iommu) { iommu = iommu_get(pdata->iommu_name); if (IS_ERR(iommu)) { dev_err(dev, "iommu_get error: %ld\n", PTR_ERR(iommu)); - return PTR_ERR(iommu); + ret = PTR_ERR(iommu); + goto err; } rpp->iommu = iommu; } @@ -207,14 +217,6 @@ int omap_rproc_activate(struct omap_device *od) rpp->mbox = omap_mbox_get(pdata->sus_mbox_name, NULL); #endif - /** - * Domain is in HW SUP thus in hw_auto but - * since remoteproc will be enabled clkdm - * needs to be in sw_sup (Do not let it idle). - */ - if (pdata->clkdm) - clkdm_wakeup(pdata->clkdm); - for (i = 0; i < pdata->timers_cnt; i++) omap_dm_timer_start(timers[i].odt); @@ -226,7 +228,7 @@ int omap_rproc_activate(struct omap_device *od) break; } } - +err: /** * Domain is in force_wkup but since remoteproc * was enabled it is safe now to switch clkdm |