From: Matthias Kaehlcke <mka@chromium.org>
To: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Brian Norris <briannorris@chromium.org>,
Douglas Anderson <dianders@chromium.org>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Viresh Kumar <viresh.kumar@linaro.org>,
Lee Jones <lee.jones@linaro.org>,
Matthias Kaehlcke <mka@chromium.org>
Subject: [PATCH v3 00/12] Add throttler driver for non-thermal throttling
Date: Thu, 14 Jun 2018 12:47:00 -0700 [thread overview]
Message-ID: <20180614194712.102134-1-mka@chromium.org> (raw)
This series adds the throttler driver, for non-thermal throttling of
CPUs and devfreq devices. A use case for non-thermal throttling could
be the detection of a high battery discharge voltage, close to the
over-current protection (OCP) limit of the battery.
To support throttling of devfreq devices the series introduces the
concept of a devfreq policy and the DEVFREQ_ADJUST notifier (similar
to CPUFREQ_ADJUST). Further it includes some related devfreq bugfixes
and improvements that change some of the code that is also touched
by the policy changes.
Matthias Kaehlcke (12):
PM / devfreq: Init user limits from OPP limits, not viceversa
PM / devfreq: Fix handling of min/max_freq == 0
PM / devfreq: Don't adjust to user limits in governors
PM / devfreq: Add struct devfreq_policy
PM / devfreg: Add support for policy notifiers
PM / devfreq: Make update_devfreq() public
PM / devfreq: export devfreq_class
cpufreq: Add stub for cpufreq_update_policy()
dt-bindings: PM / OPP: add opp-throttlers property
misc: throttler: Add core support for non-thermal throttling
misc: throttler: Add Chrome OS EC throttler
mfd: cros_ec: Add throttler sub-device
Documentation/devicetree/bindings/opp/opp.txt | 3 +
MAINTAINERS | 7 +
drivers/devfreq/devfreq.c | 222 +++---
drivers/devfreq/governor.h | 6 +-
drivers/devfreq/governor_passive.c | 4 +-
drivers/devfreq/governor_performance.c | 5 +-
drivers/devfreq/governor_powersave.c | 2 +-
drivers/devfreq/governor_simpleondemand.c | 12 +-
drivers/devfreq/governor_userspace.c | 16 +-
drivers/mfd/cros_ec.c | 16 +
drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/throttler/Kconfig | 33 +
drivers/misc/throttler/Makefile | 2 +
drivers/misc/throttler/core.c | 687 ++++++++++++++++++
drivers/misc/throttler/cros_ec_throttler.c | 109 +++
include/linux/cpufreq.h | 1 +
include/linux/devfreq.h | 113 ++-
include/linux/throttler.h | 21 +
19 files changed, 1136 insertions(+), 125 deletions(-)
create mode 100644 drivers/misc/throttler/Kconfig
create mode 100644 drivers/misc/throttler/Makefile
create mode 100644 drivers/misc/throttler/core.c
create mode 100644 drivers/misc/throttler/cros_ec_throttler.c
create mode 100644 include/linux/throttler.h
--
2.18.0.rc1.242.g61856ae69a-goog
next reply other threads:[~2018-06-14 19:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-14 19:47 Matthias Kaehlcke [this message]
2018-06-14 19:47 ` [PATCH v3 01/12] PM / devfreq: Init user limits from OPP limits, not viceversa Matthias Kaehlcke
2018-06-15 21:06 ` Brian Norris
2018-06-15 21:25 ` Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 02/12] PM / devfreq: Fix handling of min/max_freq == 0 Matthias Kaehlcke
2018-06-18 20:12 ` Brian Norris
2018-06-14 19:47 ` [PATCH v3 03/12] PM / devfreq: Don't adjust to user limits in governors Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 04/12] PM / devfreq: Add struct devfreq_policy Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 05/12] PM / devfreg: Add support for policy notifiers Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 06/12] PM / devfreq: Make update_devfreq() public Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 07/12] PM / devfreq: export devfreq_class Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 08/12] cpufreq: Add stub for cpufreq_update_policy() Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 09/12] dt-bindings: PM / OPP: add opp-throttlers property Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 10/12] misc: throttler: Add core support for non-thermal throttling Matthias Kaehlcke
2018-06-18 23:03 ` Brian Norris
2018-06-18 23:59 ` Matthias Kaehlcke
2018-06-14 19:47 ` [PATCH v3 11/12] misc: throttler: Add Chrome OS EC throttler Matthias Kaehlcke
2018-06-18 23:34 ` Brian Norris
2018-06-14 19:47 ` [PATCH v3 12/12] mfd: cros_ec: Add throttler sub-device Matthias Kaehlcke
2018-06-18 23:21 ` Brian Norris
2018-06-19 8:41 ` Enric Balletbo Serra
2018-06-19 17:55 ` Matthias Kaehlcke
2018-06-19 17:43 ` Matthias Kaehlcke
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=20180614194712.102134-1-mka@chromium.org \
--to=mka@chromium.org \
--cc=arnd@arndb.de \
--cc=briannorris@chromium.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=enric.balletbo@collabora.com \
--cc=gregkh@linuxfoundation.org \
--cc=kyungmin.park@samsung.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).