[PATCH 00/11] Add throttler driver for non-thermal throttling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 (11):
  PM / devfreq: Init user limits from OPP limits, not viceversa
  PM / devfreq: Fix handling of min/max_freq == 0
  PM / devfreq: Remove check for df->max_freq == 0 from governors
  PM / devfreq: Remove redundant frequency adjustment from governors
  PM / devfreq: governors: Return device frequency limits instead of
    user limits
  PM / devfreq: Add struct devfreq_policy
  PM / devfreg: Add support policy notifiers
  PM / devfreq: Make update_devfreq() public
  misc: throttler: Add core support for non-thermal throttling
  dt-bindings: misc: add bindings for throttler
  misc/throttler: Add Chrome OS EC throttler

 .../devicetree/bindings/misc/throttler.txt    |  41 ++
 drivers/devfreq/devfreq.c                     | 203 ++++++----
 drivers/devfreq/governor.h                    |   3 -
 drivers/devfreq/governor_passive.c            |   4 +-
 drivers/devfreq/governor_performance.c        |   5 +-
 drivers/devfreq/governor_powersave.c          |   2 +-
 drivers/devfreq/governor_simpleondemand.c     |  13 +-
 drivers/devfreq/governor_userspace.c          |  16 +-
 drivers/misc/Kconfig                          |   1 +
 drivers/misc/Makefile                         |   1 +
 drivers/misc/throttler/Kconfig                |  28 ++
 drivers/misc/throttler/Makefile               |   2 +
 drivers/misc/throttler/core.c                 | 373 ++++++++++++++++++
 drivers/misc/throttler/cros_ec_throttler.c    | 122 ++++++
 include/linux/devfreq.h                       | 112 +++++-
 include/linux/throttler.h                     |  10 +
 16 files changed, 813 insertions(+), 123 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/misc/throttler.txt
 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.17.0.921.gf22659ad46-goog

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux