ACPI: processor: Set CAP_SMP_T_SWCOORD in arch_acpi_set_proc_cap_bits()
authorMichal Wilczynski <michal.wilczynski@intel.com>
Mon, 10 Jul 2023 14:03:34 +0000 (17:03 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 14 Jul 2023 15:59:40 +0000 (17:59 +0200)
Currently, ACPI_PROC_CAP_SMP_T_SWCOORD is set in acpi_set_pdc_bits(), but
it is not _PDC-specific. It should be set along with the other processor
capability bits.

Move the setting of ACPI_PROC_CAP_SMP_T_SWCOORD to
arch_acpi_set_proc_cap_bits().

Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Michal Wilczynski <michal.wilczynski@intel.com>
[ rjw: Subject and changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/include/asm/acpi.h
drivers/acpi/processor_pdc.c

index d615238..6f6752a 100644 (file)
@@ -106,6 +106,9 @@ static inline void arch_acpi_set_proc_cap_bits(u32 *cap)
 
        *cap |= ACPI_PROC_CAP_C_CAPABILITY_SMP;
 
+       /* Enable coordination with firmware's _TSD info */
+       *cap |= ACPI_PROC_CAP_SMP_T_SWCOORD;
+
        if (cpu_has(c, X86_FEATURE_EST))
                *cap |= ACPI_PROC_CAP_EST_CAPABILITY_SWSMP;
 
index 3c60352..1a8591e 100644 (file)
@@ -20,9 +20,6 @@ static void acpi_set_pdc_bits(u32 *buf)
        buf[0] = ACPI_PDC_REVISION_ID;
        buf[1] = 1;
 
-       /* Enable coordination with firmware's _TSD info */
-       buf[2] = ACPI_PROC_CAP_SMP_T_SWCOORD;
-
        /* Twiddle arch-specific bits needed for _PDC */
        arch_acpi_set_proc_cap_bits(&buf[2]);
 }