Revert "remoteproc: Add support for runtime PM"

This reverts commit a99a37f6cd.

Removing PM runtime operations from the remoteproc core in order to:

1) Keep all power management operations in platform drivers.  That way we
do not loose flexibility in an area that is very HW specific.

2) Avoid making the support for remote processor managed by external
entities more complex that it already is.

3) Fix regression introduced for the Omap remoteproc driver.

Acked-by: Suman Anna <s-anna@ti.com>
Tested-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20200630163118.3830422-3-mathieu.poirier@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Mathieu Poirier 2020-06-30 10:31:18 -06:00 committed by Bjorn Andersson
parent 4605ad8f45
commit 49cff12568
1 changed files with 1 additions and 16 deletions

View File

@ -29,7 +29,6 @@
#include <linux/devcoredump.h>
#include <linux/rculist.h>
#include <linux/remoteproc.h>
#include <linux/pm_runtime.h>
#include <linux/iommu.h>
#include <linux/idr.h>
#include <linux/elf.h>
@ -1383,12 +1382,6 @@ static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw)
if (ret)
return ret;
ret = pm_runtime_get_sync(dev);
if (ret < 0) {
dev_err(dev, "pm_runtime_get_sync failed: %d\n", ret);
return ret;
}
dev_info(dev, "Booting fw image %s, size %zd\n", name, fw->size);
/*
@ -1398,7 +1391,7 @@ static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw)
ret = rproc_enable_iommu(rproc);
if (ret) {
dev_err(dev, "can't enable iommu: %d\n", ret);
goto put_pm_runtime;
return ret;
}
/* Prepare rproc for firmware loading if needed */
@ -1452,8 +1445,6 @@ unprepare_rproc:
rproc_unprepare_device(rproc);
disable_iommu:
rproc_disable_iommu(rproc);
put_pm_runtime:
pm_runtime_put(dev);
return ret;
}
@ -1891,8 +1882,6 @@ void rproc_shutdown(struct rproc *rproc)
rproc_disable_iommu(rproc);
pm_runtime_put(dev);
/* Free the copy of the resource table */
kfree(rproc->cached_table);
rproc->cached_table = NULL;
@ -2183,9 +2172,6 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
rproc->state = RPROC_OFFLINE;
pm_runtime_no_callbacks(&rproc->dev);
pm_runtime_enable(&rproc->dev);
return rproc;
put_device:
@ -2205,7 +2191,6 @@ EXPORT_SYMBOL(rproc_alloc);
*/
void rproc_free(struct rproc *rproc)
{
pm_runtime_disable(&rproc->dev);
put_device(&rproc->dev);
}
EXPORT_SYMBOL(rproc_free);