[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230731064746.2717684-5-peng.fan@oss.nxp.com>
Date: Mon, 31 Jul 2023 14:47:42 +0800
From: "Peng Fan (OSS)" <peng.fan@....nxp.com>
To: ulf.hansson@...aro.org, shawnguo@...nel.org, s.hauer@...gutronix.de
Cc: kernel@...gutronix.de, festevam@...il.com, linux-imx@....com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, Peng Fan <peng.fan@....com>
Subject: [PATCH V3 4/8] genpd: imx: scu-pd: do not power off console if no_console_suspend
From: Peng Fan <peng.fan@....com>
Do not power off console if no_console_suspend
Signed-off-by: Peng Fan <peng.fan@....com>
---
drivers/genpd/imx/scu-pd.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/genpd/imx/scu-pd.c b/drivers/genpd/imx/scu-pd.c
index 08583a10ac62..d69da79d3130 100644
--- a/drivers/genpd/imx/scu-pd.c
+++ b/drivers/genpd/imx/scu-pd.c
@@ -52,6 +52,7 @@
*/
#include <dt-bindings/firmware/imx/rsrc.h>
+#include <linux/console.h>
#include <linux/firmware/imx/sci.h>
#include <linux/firmware/imx/svc/rm.h>
#include <linux/io.h>
@@ -324,6 +325,10 @@ static int imx_sc_pd_power(struct generic_pm_domain *domain, bool power_on)
msg.resource = pd->rsrc;
msg.mode = power_on ? IMX_SC_PM_PW_MODE_ON : IMX_SC_PM_PW_MODE_LP;
+ /* keep uart console power on for no_console_suspend */
+ if (imx_con_rsrc == pd->rsrc && !console_suspend_enabled && !power_on)
+ return -EBUSY;
+
ret = imx_scu_call_rpc(pm_ipc_handle, &msg, true);
if (ret)
dev_err(&domain->dev, "failed to power %s resource %d ret %d\n",
--
2.37.1
Powered by blists - more mailing lists