lkml.org 
[lkml]   [2022]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] ACPI: CPPC: Don't require _OSC if X86_FEATURE_CPPC is supported
Date
[AMD Official Use Only - General]

Hi Rafael:

> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@amd.com>
> Sent: Tuesday, June 28, 2022 12:59 AM
> To: Limonciello, Mario <Mario.Limonciello@amd.com>; Rafael J. Wysocki
> <rafael@kernel.org>; Len Brown <lenb@kernel.org>; Pierre Gondois
> <pierre.gondois@arm.com>; Sudeep Holla <sudeep.holla@arm.com>
> Cc: Yuan, Perry <Perry.Yuan@amd.com>; linux-acpi@vger.kernel.org; linux-
> kernel@vger.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@amd.com>
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.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@amd.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

\
 
 \ /
  Last update: 2022-06-27 19:27    [W:0.096 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site