lkml.org 
[lkml]   [2013]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH RESEND v8 0/7] cpufreq:boost: CPU Boost mode support
    Date
    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 (TRATS2) 3.12-rc1 Linux
    Intel Core i7-3770 3.12-rc1 Linux

    Above patches were posted on top of linux_pm/linux-next
    SHA1: cf8bc6460f2137412081ba26d18932f20cb856fd

    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(-)

    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-09-20 18:21    [W:2.890 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site