ACPI: processor_idle: Use acpi_idle_play_dead() for all C-states
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 14 Nov 2024 17:47:55 +0000 (18:47 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 19 Nov 2024 20:43:51 +0000 (21:43 +0100)
Notice that acpi_processor_setup_cstates() can set state->enter_dead to acpi_idle_play_dead() for all C-states unconditionally and remove the
confusing C-state type check done before setting it.

No intentional functional impact.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Mario Limonciello <mario.limonciello@amd.com> # 6.12-rc7
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/2373563.ElGaqSPkdT@rjwysocki.net
drivers/acpi/processor_idle.c

index 831fa4a121598545749a64b518128ab538834a55..3fd3bfc9bd66578a2b07af2415a2c0b55cc2b5ae 100644 (file)
@@ -803,12 +803,12 @@ 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 ||
-                   cx->type == ACPI_STATE_C3) {
-                       state->enter_dead = acpi_idle_play_dead;
-                       if (cx->type != ACPI_STATE_C3)
-                               drv->safe_state_index = count;
-               }
+
+               state->enter_dead = acpi_idle_play_dead;
+
+               if (cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2)
+                       drv->safe_state_index = count;
+
                /*
                 * Halt-induced C1 is not good for ->enter_s2idle, because it
                 * re-enables interrupts on exit.  Moreover, C1 is generally not