Commit 0e7c7104 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

cpufreq: intel_pstate: Use correct scaling factor on Raptor Lake-E

Raptor Lake-E has the same processor ID as Raptor Lake-S, so there is
an entry in intel_hybrid_scaling_factor[] for it.  It does not contain
E-cores though and hybrid_get_cpu_type() returns 0 for its P-cores, so
they get the default "core" scaling factor.  However, the original
Raptor Lake scaling factor for P-cores still needs to be used for
mapping the HWP performance levels of the P-cores in Raptor Lake-E to
frequency, as though they were part of a real hybrid system.

To address this, update hwp_get_cpu_scaling() to return
hybrid_scaling_factor, which is the P-core scaling factor
retrieved from intel_hybrid_scaling_factor[], for all CPUs
that are not enumerated as E-cores.

Fixes: 9b18d536 ("cpufreq: intel_pstate: Use CPPC to get scaling factors")
Link: https://lore.kernel.org/all/20260511235328.2018458-1-srinivas.pandruvada@linux.intel.com/


Reported-by: default avatarHenry Tseng <henrytseng@qnap.com>
Closes: https://lore.kernel.org/linux-pm/20260508063032.3248602-1-henrytseng@qnap.com/


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: All applicable <stable@vger.kernel.org>
Link: https://patch.msgid.link/4523296.ejJDZkT8p0@rafael.j.wysocki
parent ee047fc7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2279,7 +2279,7 @@ static int hwp_get_cpu_scaling(int cpu)
		 * Return the hybrid scaling factor for P-cores and use the
		 * default core scaling for E-cores.
		 */
		if (hybrid_get_cpu_type(cpu) == INTEL_CPU_TYPE_CORE)
		if (hybrid_get_cpu_type(cpu) != INTEL_CPU_TYPE_ATOM)
			return hybrid_scaling_factor;

		return core_get_scaling();