]> git.baikalelectronics.ru Git - kernel.git/commitdiff
cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Mon, 25 Mar 2019 16:04:40 +0000 (09:04 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 25 Mar 2019 22:57:21 +0000 (23:57 +0100)
The ACPI specification states that if the "Guaranteed Performance
Register" is not implemented, the OSPM assumes guaranteed performance
to always be equal to nominal performance.

So for invalid or unimplemented guaranteed performance register, use
nominal performance as guaranteed performance.

This change will fall back to nominal_perf when guranteed_perf is
invalid.  If nominal_perf is also invalid or not present, fall back
to the existing implementation, which is to read from HWP Capabilities
MSR.

Fixes: 86d333a8cc7f ("cpufreq: intel_pstate: Add base_frequency attribute")
Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: 4.20+ <stable@vger.kernel.org> # 4.20+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c

index e22f0dbaebb1d97e407d0be2b67da9b25f8af8dc..b599c7318aab4ea9302779b8527ece4a91151914 100644 (file)
@@ -385,7 +385,10 @@ static int intel_pstate_get_cppc_guranteed(int cpu)
        if (ret)
                return ret;
 
-       return cppc_perf.guaranteed_perf;
+       if (cppc_perf.guaranteed_perf)
+               return cppc_perf.guaranteed_perf;
+
+       return cppc_perf.nominal_perf;
 }
 
 #else /* CONFIG_ACPI_CPPC_LIB */