[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251024-imx_rproc_c4-v4-3-af83ed3fdbba@nxp.com>
Date: Fri, 24 Oct 2025 10:51:30 +0800
From: Peng Fan <peng.fan@....com>
To: Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>, Daniel Baluta <daniel.baluta@....com>,
Frank Li <Frank.Li@....com>
Cc: linux-remoteproc@...r.kernel.org, imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Peng Fan <peng.fan@....com>
Subject: [PATCH v4 3/4] remoteproc: imx_rproc: Enable PM runtime support
unconditionally
PM runtime support is safe and applicable across all i.MX platforms, not
just those using the SCU API. Remove the conditional check and enable PM
runtime unconditionally to simplify the code and ensure consistent power
management behavior.
Reviewed-by: Daniel Baluta <daniel.baluta@....com>
Reviewed-by: Frank Li <Frank.Li@....com>
Signed-off-by: Peng Fan <peng.fan@....com>
---
drivers/remoteproc/imx_rproc.c | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
index 820b0cd5adbb17ce5665e7ec2786bca23f1a67ea..25f5cb4d414eabed7a166eb2a8ae5e20b6b4f667 100644
--- a/drivers/remoteproc/imx_rproc.c
+++ b/drivers/remoteproc/imx_rproc.c
@@ -1119,12 +1119,10 @@ static int imx_rproc_probe(struct platform_device *pdev)
return dev_err_probe(dev, ret, "register restart handler failure\n");
}
- if (dcfg->method == IMX_RPROC_SCU_API) {
- pm_runtime_enable(dev);
- ret = pm_runtime_resume_and_get(dev);
- if (ret)
- return dev_err_probe(dev, ret, "pm_runtime get failed\n");
- }
+ pm_runtime_enable(dev);
+ ret = pm_runtime_resume_and_get(dev);
+ if (ret)
+ return dev_err_probe(dev, ret, "pm_runtime get failed\n");
ret = devm_rproc_add(dev, rproc);
if (ret) {
@@ -1135,10 +1133,8 @@ static int imx_rproc_probe(struct platform_device *pdev)
return 0;
err_put_pm:
- if (dcfg->method == IMX_RPROC_SCU_API) {
- pm_runtime_disable(dev);
- pm_runtime_put_noidle(dev);
- }
+ pm_runtime_disable(dev);
+ pm_runtime_put_noidle(dev);
return ret;
}
@@ -1148,10 +1144,8 @@ static void imx_rproc_remove(struct platform_device *pdev)
struct rproc *rproc = platform_get_drvdata(pdev);
struct imx_rproc *priv = rproc->priv;
- if (priv->dcfg->method == IMX_RPROC_SCU_API) {
- pm_runtime_disable(priv->dev);
- pm_runtime_put_noidle(priv->dev);
- }
+ pm_runtime_disable(priv->dev);
+ pm_runtime_put_noidle(priv->dev);
}
static const struct imx_rproc_plat_ops imx_rproc_ops_arm_smc = {
--
2.37.1
Powered by blists - more mailing lists