[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM4PR12MB52786707F51B48C7559115799CB99@DM4PR12MB5278.namprd12.prod.outlook.com>
Date: Mon, 27 Jun 2022 17:26:00 +0000
From: "Yuan, Perry" <Perry.Yuan@....com>
To: "Limonciello, Mario" <Mario.Limonciello@....com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Len Brown <lenb@...nel.org>,
Pierre Gondois <pierre.gondois@....com>,
Sudeep Holla <sudeep.holla@....com>
CC: "linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is
supported
[AMD Official Use Only - General]
Hi Rafael:
> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@....com>
> Sent: Tuesday, June 28, 2022 12:59 AM
> To: Limonciello, Mario <Mario.Limonciello@....com>; Rafael J. Wysocki
> <rafael@...nel.org>; Len Brown <lenb@...nel.org>; Pierre Gondois
> <pierre.gondois@....com>; Sudeep Holla <sudeep.holla@....com>
> Cc: Yuan, Perry <Perry.Yuan@....com>; linux-acpi@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Subject: [PATCH] ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is
> supported
>
> commit 72f2ecb7ece7 ("ACPI: bus: Set CPPC _OSC bits for all and when
> CPPC_LIB is supported") added support for claiming to support CPPC in _OSC
> on non-Intel platforms.
>
> This unfortunately caused a regression on a vartiety of AMD platforms in the
> field because a number of AMD platforms don't set the `_OSC` bit 5 or 6 to
> indicate CPPC or CPPC v2 support.
>
> As these AMD platforms already claim CPPC support via
> `X86_FEATURE_CPPC`, use this enable this feature rather than requiring the
> `_OSC`.
>
> Fixes: 72f2ecb7ece7 ("Set CPPC _OSC bits for all and when CPPC_LIB is
> supported")
> Reported-by: Perry Yuan <perry.yuan@....com>
> Signed-off-by: Mario Limonciello <mario.limonciello@....com>
> ---
> drivers/acpi/cppc_acpi.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c index
> 903528f7e187..5463e6309b9a 100644
> --- a/drivers/acpi/cppc_acpi.c
> +++ b/drivers/acpi/cppc_acpi.c
> @@ -629,6 +629,15 @@ static bool is_cppc_supported(int revision, int
> num_ent)
> return false;
> }
>
> + if (osc_sb_cppc_not_supported) {
> + pr_debug("Firmware missing _OSC support\n"); #ifdef
> CONFIG_X86
> + return boot_cpu_has(X86_FEATURE_CPPC); #else
> + return false;
> +#endif
> + }
> +
> return true;
> }
>
I align with Mario to use his patch to fix the amd pstate driver loading failure issue.
AMD CPUID include the cppc flag to mark the CPPC valid if the _OSC dose not have the CPPC support info added.
Tested-by: Perry Yuan <perry.yuan@....com>
> @@ -684,9 +693,6 @@ int acpi_cppc_processor_probe(struct
> acpi_processor *pr)
> acpi_status status;
> int ret = -ENODATA;
>
> - if (osc_sb_cppc_not_supported)
> - return -ENODEV;
> -
> /* Parse the ACPI _CPC table for this CPU. */
> status = acpi_evaluate_object_typed(handle, "_CPC", NULL, &output,
> ACPI_TYPE_PACKAGE);
> --
> 2.34.1
Powered by blists - more mailing lists