[PATCH 03/11] cpufreq: amd-pstate: add debug message while CPPC is supported and disabled by SBIOS

Perry Yuan
2024-05-07T07:16:02Z

If CPPC feature is supported by the CPU however the CPUID flag bit is not
set by SBIOS, the `amd_pstate` will be failed to load while system
booting.
So adding one more debug message to inform user to check the SBIOS setting,
The change also can help maintainers to debug why amd_pstate driver failed
to be loaded at system booting if the processor support CPPC.

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218686
Signed-off-by: Perry Yuan <perry.yuan@amd.com>
---
drivers/cpufreq/amd-pstate.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index cb766c061c86..e94b55a7bb59 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -1698,6 +1698,17 @@ static bool amd_cppc_supported(void)
return false;
}

+ /*
+ * If the CPPC flag is disabled in the BIOS for processors that support MSR-based CPPC
+ * the AMD Pstate driver may not function correctly.
+ */
+ if ((boot_cpu_data.x86 >= 0x19) && (boot_cpu_data.x86_model >= 0x40) &&
+ !cpu_feature_enabled(X86_FEATURE_CPPC)) {
+ pr_debug_once("The CPPC feature is supported but disabled by the BIOS. "
+ "Please enable it if your BIOS has the CPPC option.\n");
+ return false;
+ }
+
return true;
}

--
2.34.1