From: Lukasz Majewski <l.majewski@samsung.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Eduardo Valentin <eduardo.valentin@ti.com>
Cc: "cpufreq@vger.kernel.org" <cpufreq@vger.kernel.org>,
Linux PM list <linux-pm@vger.kernel.org>,
Jonghwa Lee <jonghwa3.lee@samsung.com>,
Lukasz Majewski <l.majewski@samsung.com>,
Lukasz Majewski <l.majewski@majess.pl>,
linux-kernel <linux-kernel@vger.kernel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Myungjoo Ham <myungjoo.ham@samsung.com>,
durgadoss.r@intel.com, Zhang Rui <rui.zhang@intel.com>,
linux-samsung-soc@vger.kernel.org
Subject: [PATCH v12 0/7] cpufreq:boost: CPU Boost mode support
Date: Fri, 20 Dec 2013 15:24:48 +0100 [thread overview]
Message-ID: <1387549495-809-1-git-send-email-l.majewski@samsung.com> (raw)
In-Reply-To: <1370502472-7249-1-git-send-email-l.majewski@samsung.com>
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. After cooling down
the boost can be enabled again. This emulates behaviour similar to HW
managed boost (like x86)
Tested at HW:
Exynos 4412 3.13-rc4 Linux
Intel Core i7-3770 3.13-rc4 Linux
Above patches were posted on top of kernel_pm/bleeding-edge
(SHA1: bd0f3a5d9dce48a917ce1f1047534d79c725149)
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
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
thermal:exynos:boost: Automatic enable/disable of BOOST feature (at
Exynos4412)
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 | 3 +
drivers/cpufreq/exynos4x12-cpufreq.c | 2 +-
drivers/cpufreq/freq_table.c | 56 ++++++++++++--
drivers/thermal/samsung/exynos_tmu_data.c | 12 +--
include/linux/cpufreq.h | 24 ++++++
10 files changed, 261 insertions(+), 85 deletions(-)
--
1.7.10.4
next prev parent reply other threads:[~2013-12-20 14:24 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1370502472-7249-1-git-send-email-l.majewski@samsung.com>
2013-12-02 12:19 ` [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-02 12:19 ` [PATCH RESEND v10 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2013-12-04 6:59 ` [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2013-12-04 14:12 ` Eduardo Valentin
2013-12-09 10:04 ` Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 " Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-13 16:38 ` [PATCH v11 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2013-12-19 14:50 ` Eduardo Valentin
2013-12-20 14:24 ` Lukasz Majewski [this message]
2013-12-20 14:24 ` [PATCH v12 1/7] cpufreq: Add boost frequency support in core Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 2/7] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 4/7] cpufreq:exynos:Extend Exynos cpufreq driver to support boost framework Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 5/7] Documentation:cpufreq:boost: Update BOOST documentation Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 6/7] cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ Lukasz Majewski
2013-12-20 14:24 ` [PATCH v12 7/7] thermal:exynos:boost: Automatic enable/disable of BOOST feature (at Exynos4412) Lukasz Majewski
2014-01-10 6:35 ` Zhang Rui
2014-01-07 6:58 ` [PATCH v12 0/7] cpufreq:boost: CPU Boost mode support Lukasz Majewski
2014-01-08 0:35 ` Rafael J. Wysocki
2014-01-09 7:19 ` Lukasz Majewski
2014-01-10 6:33 ` Zhang Rui
2014-01-16 9:40 ` Lukasz Majewski
2014-01-16 15:51 ` Rafael J. Wysocki
2014-01-16 15:56 ` Lukasz Majewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1387549495-809-1-git-send-email-l.majewski@samsung.com \
--to=l.majewski@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=cpufreq@vger.kernel.org \
--cc=durgadoss.r@intel.com \
--cc=eduardo.valentin@ti.com \
--cc=jonghwa3.lee@samsung.com \
--cc=l.majewski@majess.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=rjw@rjwysocki.net \
--cc=rui.zhang@intel.com \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox