[PATCH v2] firmware/psci: Print a warning if PSCI doesn't accept PC mode

Ulf Hansson ulf.hansson at linaro.org
Fri Aug 5 07:16:37 PDT 2022


On Thu, 4 Aug 2022 at 15:07, Dmitry Baryshkov
<dmitry.baryshkov at linaro.org> wrote:
>
> The function psci_pd_try_set_osi_mode() will print an error if enabling
> OSI mode fails. To ease debugging PSCI issues print corresponding
> message if switching to PC mode fails too.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>

Seems reasonable to me!

Reviewed-by: Ulf Hansson <ulf.hansson at linaro.org>

Kind regards
Uffe

> ---
> This is a replacement for [1], now moving the warning from
> psci_set_osi_mode() callers to the function iself.
>
> https://lore.kernel.org/all/20220727182034.983727-1-dmitry.baryshkov@linaro.org/
>
> ---
>  drivers/cpuidle/cpuidle-psci-domain.c | 4 +---
>  drivers/firmware/psci/psci.c          | 2 ++
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> index 3db4fca1172b..821984947ed9 100644
> --- a/drivers/cpuidle/cpuidle-psci-domain.c
> +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> @@ -124,10 +124,8 @@ static bool psci_pd_try_set_osi_mode(void)
>                 return false;
>
>         ret = psci_set_osi_mode(true);
> -       if (ret) {
> -               pr_warn("failed to enable OSI mode: %d\n", ret);
> +       if (ret)
>                 return false;
> -       }
>
>         return true;
>  }
> diff --git a/drivers/firmware/psci/psci.c b/drivers/firmware/psci/psci.c
> index cfb448eabdaa..1628f1edef4a 100644
> --- a/drivers/firmware/psci/psci.c
> +++ b/drivers/firmware/psci/psci.c
> @@ -163,6 +163,8 @@ int psci_set_osi_mode(bool enable)
>                         PSCI_1_0_SUSPEND_MODE_PC;
>
>         err = invoke_psci_fn(PSCI_1_0_FN_SET_SUSPEND_MODE, suspend_mode, 0, 0);
> +       if (err < 0)
> +               pr_warn("failed to set %s mode: %d\n", enable ? "OSI" : "PC", err);
>         return psci_to_linux_errno(err);
>  }
>
> --
> 2.35.1
>



More information about the linux-arm-kernel mailing list