From: Peng Fan Date: Mon, 14 Aug 2023 10:41:23 +0000 (+0800) Subject: genpd: imx: scu-pd: do not power off console if no_console_suspend X-Git-Tag: v6.6-rc1~134^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=309864dcf92b76fc601a579adf9eb389e4ca4c5c;p=thirdparty%2Fkernel%2Flinux.git genpd: imx: scu-pd: do not power off console if no_console_suspend Do not power off console if no_console_suspend, this will leave the serial device's corresponding PM domain on during system suspend, which is useful for debug system suspend. Signed-off-by: Peng Fan Signed-off-by: Ulf Hansson --- diff --git a/drivers/genpd/imx/scu-pd.c b/drivers/genpd/imx/scu-pd.c index 08583a10ac62f..d69da79d3130e 100644 --- a/drivers/genpd/imx/scu-pd.c +++ b/drivers/genpd/imx/scu-pd.c @@ -52,6 +52,7 @@ */ #include +#include #include #include #include @@ -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",