• Srinivas Pandruvada's avatar
    cpufreq: intel_pstate: Fix scaling for hybrid-capable systems with disabled E-cores · 0fcfc9e5
    Srinivas Pandruvada authored
    Some system BIOS configuration may provide option to disable E-cores.
    As part of this change, CPUID feature for hybrid (Leaf 7 sub leaf 0,
    EDX[15] = 0) may not be set. But HWP performance limits will still be
    using a scaling factor like any other hybrid enabled system.
    
    The current check for applying scaling factor will fail when hybrid
    CPUID feature is not set and the only way to make sure that scaling
    should be applied by checking CPPC nominal frequency and nominal
    performance.
    
    First, or systems predating Alder Lake, the CPPC nominal frequency and
    nominal performance are 0, which can be used to distinguish those
    systems from hybrid systems with disabled E-cores.
    
    Second, if the CPPC nominal frequency and nominal performance are
    defined, which indicates the need to use a special scaling factor, and
    the nominal performance value multiplied by 100 is not equal to the
    nominal frequency one, use hybrid scaling factor.
    
    This can be done for all HWP systems without additional CPU model check.
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    [ rjw: Subject and changelog edits, removal of unneeded parens, comment
      edits ]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    0fcfc9e5
intel_pstate.c 89.9 KB