On 26 August 2013 21:20, Lukasz Majewski <l.majewski@xxxxxxxxxxx> wrote: > This patch series introduces support for CPU overclocking technique > called Boost. > > It is a follow up of a LAB governor proposal. Boost is a LAB component: > http://thread.gmane.org/gmane.linux.kernel/1484746/match=cpufreq > > Boost unifies hardware based solution (e.g. Intel Nehalem) with > software oriented one (like the one done at Exynos). > For this reason cpufreq/freq_table code has been reorganized to include > common code. > > Important design decisions: > - Boost related code is compiled-in unconditionally to cpufreq core and > disabled by default. The cpufreq_driver is responsibile for setting > boost_supported flag and providing set_boost callback(if HW support > is needed). For software managed boost, special Kconfig flag - > CONFIG_CPU_FREQ_BOOST_SW has been defined. It will be selected only > when a target platform has thermal framework properly configured. > > - struct cpufreq_driver has been extended with boost related fields: > -- boost_supported - when driver supports boosting > -- boost_enabled - boost state > -- set_boost - callback to function, which is necessary to > enable/disable boost > > - Boost sysfs attribute (/sys/devices/system/cpu/cpufreq/boost) is visible > _only_ when cpufreq driver supports Boost. > > - No special spin_lock for Boost was created. The one from cpufreq core > was reused. > > - The Boost code doesn't rely on any policy. When boost state is changed, > then the policy list is iterated and proper adjustements are done. > > - To improve safety level, the thermal framework is also extended to disable > software boosting, when thermal trip point is reached. Then it starts > monitoring target temperature to evaluate if boost can be enabled > again. This emulates behaviour similar to HW managed boost (like x86) > > Tested at HW: > Exynos 4412 3.11-rc6 Linux > Intel Core i7-3770 3.11-rc6 Linux > > Above patches were posted on top of linux_pm/linux-next > (SHA1: 68327ee544d74f20bb6179637971912e5e78811c) > > Lukasz Majewski (7): > cpufreq: Add boost frequency support in core > cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common > boost solution > thermal:boost: Automatic enable/disable of BOOST feature > cpufreq:boost:Kconfig: Provide support for software managed BOOST > cpufreq:exynos:Extend Exynos cpufreq driver to support boost > framework > Documentation:cpufreq:boost: Update BOOST documentation > cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ > > Documentation/cpu-freq/boost.txt | 26 ++++---- > drivers/cpufreq/Kconfig | 4 ++ > drivers/cpufreq/Kconfig.arm | 15 +++++ > drivers/cpufreq/acpi-cpufreq.c | 86 +++++++++---------------- > drivers/cpufreq/cpufreq.c | 118 +++++++++++++++++++++++++++++++++- > drivers/cpufreq/exynos-cpufreq.c | 6 ++ > drivers/cpufreq/exynos4x12-cpufreq.c | 2 +- > drivers/cpufreq/freq_table.c | 53 +++++++++++++-- > drivers/thermal/thermal_core.c | 55 ++++++++++++++++ > include/linux/cpufreq.h | 25 +++++++ > include/linux/thermal.h | 2 + > 11 files changed, 313 insertions(+), 79 deletions(-) Sorry for the long delays in getting this patchset in :) Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html