Commit ef8abe96 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 92572d2c a1ff5978
...@@ -355,15 +355,14 @@ static void intel_pstate_set_itmt_prio(int cpu) ...@@ -355,15 +355,14 @@ static void intel_pstate_set_itmt_prio(int cpu)
int ret; int ret;
ret = cppc_get_perf_caps(cpu, &cppc_perf); ret = cppc_get_perf_caps(cpu, &cppc_perf);
if (ret)
return;
/* /*
* On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff. * If CPPC is not available, fall back to MSR_HWP_CAPABILITIES bits [8:0].
* In this case we can't use CPPC.highest_perf to enable ITMT. *
* In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide. * Also, on some systems with overclocking enabled, CPPC.highest_perf is
* hardcoded to 0xff, so CPPC.highest_perf cannot be used to enable ITMT.
* Fall back to MSR_HWP_CAPABILITIES then too.
*/ */
if (cppc_perf.highest_perf == CPPC_MAX_PERF) if (ret || cppc_perf.highest_perf == CPPC_MAX_PERF)
cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached)); cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached));
/* /*
......
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