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

Ulf Hansson ulf.hansson at linaro.org
Thu Jul 27 04:42:06 PDT 2023


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



More information about the linux-arm-kernel mailing list