Skip to content

Commit ef8abe9

Browse files
committed
Merge tag 'pm-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fix from Rafael Wysocki: "Modify the intel_pstate driver to use HWP to initialize the ITMT scheduler extension if ACPI CPPC cannot be used for that, which is the case on some hybrid x86 systems (Rafael Wysocki)" * tag 'pm-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing
2 parents 92572d2 + a1ff597 commit ef8abe9

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

drivers/cpufreq/intel_pstate.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -355,15 +355,14 @@ static void intel_pstate_set_itmt_prio(int cpu)
355355
int ret;
356356

357357
ret = cppc_get_perf_caps(cpu, &cppc_perf);
358-
if (ret)
359-
return;
360-
361358
/*
362-
* On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff.
363-
* In this case we can't use CPPC.highest_perf to enable ITMT.
364-
* In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide.
359+
* If CPPC is not available, fall back to MSR_HWP_CAPABILITIES bits [8:0].
360+
*
361+
* Also, on some systems with overclocking enabled, CPPC.highest_perf is
362+
* hardcoded to 0xff, so CPPC.highest_perf cannot be used to enable ITMT.
363+
* Fall back to MSR_HWP_CAPABILITIES then too.
365364
*/
366-
if (cppc_perf.highest_perf == CPPC_MAX_PERF)
365+
if (ret || cppc_perf.highest_perf == CPPC_MAX_PERF)
367366
cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached));
368367

369368
/*

0 commit comments

Comments
 (0)