Re: [PATCH V2 4/8] genpd: imx: scu-pd: do not power off console if no_console_suspend

From: Ulf Hansson
Date: Thu Jul 27 2023 - 07:42:50 EST


On Thu, 20 Jul 2023 at 11:12, Peng Fan (OSS) <peng.fan@xxxxxxxxxxx> wrote:
>
> From: Dong Aisheng <aisheng.dong@xxxxxxx>
>
> Do not power off console if no_console_suspend
>
> Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxx>
> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> ---
> 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..6770be51d234 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 0;

By returning 0, genpd belives that the power off has successfully succeeded.

Should we return -EBUSY here instead?

> +
> 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
>

Kind regards
Uffe