On 30-05-20, 10:08, Xiongfeng Wang wrote: > ACPI spec 6.2 section 8.4.7.1 provide the following two CPC registers. > > "Highest performance is the absolute maximum performance an individual > processor may reach, assuming ideal conditions. This performance level > may not be sustainable for long durations, and may only be achievable if > other platform components are in a specific state; for example, it may > require other processors be in an idle state. > > Nominal Performance is the maximum sustained performance level of the > processor, assuming ideal operating conditions. In absence of an > external constraint (power, thermal, etc.) this is the performance level > the platform is expected to be able to maintain continuously. All > processors are expected to be able to sustain their nominal performance > state simultaneously." > > We can use Highest Performance as the max performance in boost mode and > Nomial Performance as the max performance in non-boost mode. If the > Highest Performance is greater than the Nominal Performance, we assume > SW BOOST is supported. > > Changelog: > > v4 -> v5: > add 'cpu_hotplug_lock' before calling '.set_boost' > v3 -> v4: > run 'boost_set_msr_each' for each CPU in the policy rather than > each CPU in the system for 'acpi-cpufreq' > add 'Suggested-by' > > Xiongfeng Wang (2): > cpufreq: change '.set_boost' to act on only one policy > CPPC: add support for SW BOOST > > drivers/cpufreq/acpi-cpufreq.c | 14 ++++++----- > drivers/cpufreq/cppc_cpufreq.c | 39 +++++++++++++++++++++++++++-- > drivers/cpufreq/cpufreq.c | 57 > +++++++++++++++++++++++------------------- > include/linux/cpufreq.h | 2 +- > 4 files changed, 77 insertions(+), 35 deletions(-)
Acked-by: Viresh Kumar <viresh.ku...@linaro.org> -- viresh