Re: [PATCHv1] ACPI: processor idle: Allow playing dead in C3 state

From: Rafael J. Wysocki
Date: Fri Sep 24 2021 - 12:31:58 EST


On Wed, Sep 22, 2021 at 3:31 PM Richard Gong <richard.gong@xxxxxxx> wrote:
>
> When some cores are disabled on AMD platforms, the system will no longer
> be able to enter suspend-to-idle s0ix.
>
> Update to allow playing dead in C3 state so that the CPUs can enter the
> deepest state on AMD platforms.
>
> BugLink: https://gitlab.freedesktop.org/drm/amd/-/issues/1708
> Suggested-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> Signed-off-by: Richard Gong <richard.gong@xxxxxxx>
> ---
> drivers/acpi/processor_idle.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
> index f37fba9e5ba0..61d5a72d218e 100644
> --- a/drivers/acpi/processor_idle.c
> +++ b/drivers/acpi/processor_idle.c
> @@ -789,7 +789,8 @@ static int acpi_processor_setup_cstates(struct acpi_processor *pr)
> state->enter = acpi_idle_enter;
>
> state->flags = 0;
> - if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2) {
> + if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2
> + || cx->type == ACPI_STATE_C3) {
> state->enter_dead = acpi_idle_play_dead;
> drv->safe_state_index = count;
> }
> --

Tentatively applied as 5.16 material, but have you done any research
on why this restriction has been there in the first place?