Re: [PATCH] ACPI: Let ACPI know we support Generic Initiator Affinity Structures

From: Chen Baozi
Date: Sun Nov 22 2020 - 00:32:40 EST


Hi Jonathan,

I have found the value of OSC_SB_GENERIC_INITIATOR_SUPPORT is wrong
when reading source code of driver/acpi/bus.c in the linux-next

On Wed, Sep 30, 2020 at 10:05:44PM +0800, Jonathan Cameron wrote:
> Until we tell ACPI that we support generic initiators, it will have
> to operate in fall back domain mode and all _PXM entries should
> be on existing non GI domains.
>
> This patch sets the relevant OSC bit to make that happen.
>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
> drivers/acpi/bus.c | 4 ++++
> include/linux/acpi.h | 1 +
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> index 54002670cb7a..113c661eb848 100644
> --- a/drivers/acpi/bus.c
> +++ b/drivers/acpi/bus.c
> @@ -303,7 +303,11 @@ static void acpi_bus_osc_support(void)
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_OST_SUPPORT;
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_PCLPI_SUPPORT;
>
> +#ifdef CONFIG_ARM64
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT;
> +#endif
> #ifdef CONFIG_X86
> + capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_GENERIC_INITIATOR_SUPPORT;
> if (boot_cpu_has(X86_FEATURE_HWP)) {
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPC_SUPPORT;
> capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_CPCV2_SUPPORT;
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index e9f6cd67943e..edbf3c4116b4 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -545,6 +545,7 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);
> #define OSC_SB_PCLPI_SUPPORT 0x00000080
> #define OSC_SB_OSLPI_SUPPORT 0x00000100
> #define OSC_SB_CPC_DIVERSE_HIGH_SUPPORT 0x00001000
> +#define OSC_SB_GENERIC_INITIATOR_SUPPORT 0x00002000

Since the Generic Initiator Support is the Bit 17, it should be
0x20000 rather than 0x2000.

Baozi.