Re: [PATCH v2] cpufreq/amd-pstate: Bail out early if !X86_FEATURE_HW_PSTATE

From: K Prateek Nayak

Date: Mon Jul 20 2026 - 01:17:19 EST


Hello Rong,

On 7/18/2026 8:45 PM, Rong Zhang wrote:
> When booting a VM that simulates or passes-through a relatively new CPU
> model, these warning messages are printed to kmsg:
>
> amd_pstate: The CPPC feature is supported but currently disabled by the BIOS.
> Please enable it if your BIOS has the CPPC option.

This is message is printed from amd_cppc_supported() ...

> amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
>

[..snip..]

> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index a74a4cf99d22..877b4b30ecd0 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -2228,6 +2228,13 @@ static int __init amd_pstate_init(void)
> if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
> return -ENODEV;
>
> + /*
> + * Do not continue on the following checks and emit bogus warning
> + * messages if the platform doesn't support frequency scaling at all.
> + */
> + if (!cpu_feature_enabled(X86_FEATURE_HW_PSTATE))
> + return -ENODEV;

... so why add this check in amd_pstate_init()?

I personally prefer having the check in amd_cppc_supported() and
returning false from there with a pr_debug_once() saying processor does
not support frequency scaling.

> +
> /* show debug message only if CPPC is not supported */
> if (!amd_cppc_supported())
> return -EOPNOTSUPP;
>
> ---
> base-commit: 94515f3a7d4256a5062176b7d6ed0471938cd51a
> change-id: 1cc24037-amd-pstate-vm-d6ab4c959bd3
>
> Thanks,
> Rong
>

--
Thanks and Regards,
Prateek