On Tue, Jun 13, 2023 at 6:12 PM Michal Wilczynski <michal.wilczynski@xxxxxxxxx> wrote: > > Capabilities buffer modified by the arch_acpi_set_pdc_bits() is not > _PDC specific, as it is used by _OSC method as well. Change function > name to better reflect it's independence from PDC. Change function > expected argument to pass capability buffer directly without any > offset, as the offset differ among _OSC and _PDC methods. > > Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > Signed-off-by: Michal Wilczynski <michal.wilczynski@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Any objections to this from the x86 arch side? if not, I will route it via ACPI along with the rest of the series. > --- > arch/ia64/include/asm/acpi.h | 4 ++-- > arch/x86/include/asm/acpi.h | 10 +++++----- > drivers/acpi/processor_pdc.c | 2 +- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h > index 87927eb824cc..43797cb44383 100644 > --- a/arch/ia64/include/asm/acpi.h > +++ b/arch/ia64/include/asm/acpi.h > @@ -69,9 +69,9 @@ extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; > #endif > > static inline bool arch_has_acpi_pdc(void) { return true; } > -static inline void arch_acpi_set_pdc_bits(u32 *buf) > +static inline void arch_acpi_set_proc_cap_bits(u32 *cap) > { > - buf[2] |= ACPI_PDC_EST_CAPABILITY_SMP; > + *cap |= ACPI_PDC_EST_CAPABILITY_SMP; > } > > #ifdef CONFIG_ACPI_NUMA > diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h > index 8eb74cf386db..6a498d1781e7 100644 > --- a/arch/x86/include/asm/acpi.h > +++ b/arch/x86/include/asm/acpi.h > @@ -100,23 +100,23 @@ static inline bool arch_has_acpi_pdc(void) > c->x86_vendor == X86_VENDOR_CENTAUR); > } > > -static inline void arch_acpi_set_pdc_bits(u32 *buf) > +static inline void arch_acpi_set_proc_cap_bits(u32 *cap) > { > struct cpuinfo_x86 *c = &cpu_data(0); > > - buf[2] |= ACPI_PDC_C_CAPABILITY_SMP; > + *cap |= ACPI_PDC_C_CAPABILITY_SMP; > > if (cpu_has(c, X86_FEATURE_EST)) > - buf[2] |= ACPI_PDC_EST_CAPABILITY_SWSMP; > + *cap |= ACPI_PDC_EST_CAPABILITY_SWSMP; > > if (cpu_has(c, X86_FEATURE_ACPI)) > - buf[2] |= ACPI_PDC_T_FFH; > + *cap |= ACPI_PDC_T_FFH; > > /* > * If mwait/monitor is unsupported, C2/C3_FFH will be disabled > */ > if (!cpu_has(c, X86_FEATURE_MWAIT)) > - buf[2] &= ~(ACPI_PDC_C_C2C3_FFH); > + *cap &= ~(ACPI_PDC_C_C2C3_FFH); > } > > static inline bool acpi_has_cpu_in_madt(void) > diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c > index 5596862e6fea..ce3acd86dd12 100644 > --- a/drivers/acpi/processor_pdc.c > +++ b/drivers/acpi/processor_pdc.c > @@ -24,7 +24,7 @@ static void acpi_set_pdc_bits(u32 *buf) > buf[2] = ACPI_PDC_SMP_T_SWCOORD; > > /* Twiddle arch-specific bits needed for _PDC */ > - arch_acpi_set_pdc_bits(buf); > + arch_acpi_set_proc_cap_bits(&buf[2]); > } > > static struct acpi_object_list *acpi_processor_alloc_pdc(void) > -- > 2.41.0 >