Commit b02d2cf5 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge tag 'amd-pstate-v6.11-2024-09-04' of...

Merge tag 'amd-pstate-v6.11-2024-09-04' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux

Pull an amd-pstate fix for 6.11 from Mario Limonciello:

"second round of amd-pstate fixes for 6.11:

 * Fix an incorrect warning emitted on processors that don't
   support X86_FEATURE_CPPC."

* tag 'amd-pstate-v6.11-2024-09-04' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/superm1/linux:
  cpufreq/amd-pstate: Remove warning for X86_FEATURE_CPPC on certain Zen models
parents 431c1646 9c68a3b0
...@@ -1834,20 +1834,34 @@ static bool amd_cppc_supported(void) ...@@ -1834,20 +1834,34 @@ static bool amd_cppc_supported(void)
} }
/* /*
* If the CPPC feature is disabled in the BIOS for processors that support MSR-based CPPC, * If the CPPC feature is disabled in the BIOS for processors
* the AMD Pstate driver may not function correctly. * that support MSR-based CPPC, the AMD Pstate driver may not
* Check the CPPC flag and display a warning message if the platform supports CPPC. * function correctly.
* Note: below checking code will not abort the driver registeration process because of *
* the code is added for debugging purposes. * For such processors, check the CPPC flag and display a
* warning message if the platform supports CPPC.
*
* Note: The code check below will not abort the driver
* registration process because of the code is added for
* debugging purposes. Besides, it may still be possible for
* the driver to work using the shared-memory mechanism.
*/ */
if (!cpu_feature_enabled(X86_FEATURE_CPPC)) { if (!cpu_feature_enabled(X86_FEATURE_CPPC)) {
if (cpu_feature_enabled(X86_FEATURE_ZEN1) || cpu_feature_enabled(X86_FEATURE_ZEN2)) { if (cpu_feature_enabled(X86_FEATURE_ZEN2)) {
if (c->x86_model > 0x60 && c->x86_model < 0xaf) switch (c->x86_model) {
case 0x60 ... 0x6F:
case 0x80 ... 0xAF:
warn = true; warn = true;
} else if (cpu_feature_enabled(X86_FEATURE_ZEN3) || cpu_feature_enabled(X86_FEATURE_ZEN4)) { break;
if ((c->x86_model > 0x10 && c->x86_model < 0x1F) || }
(c->x86_model > 0x40 && c->x86_model < 0xaf)) } else if (cpu_feature_enabled(X86_FEATURE_ZEN3) ||
cpu_feature_enabled(X86_FEATURE_ZEN4)) {
switch (c->x86_model) {
case 0x10 ... 0x1F:
case 0x40 ... 0xAF:
warn = true; warn = true;
break;
}
} else if (cpu_feature_enabled(X86_FEATURE_ZEN5)) { } else if (cpu_feature_enabled(X86_FEATURE_ZEN5)) {
warn = true; warn = true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment