1. 04 6月, 2015 1 次提交
  2. 05 5月, 2015 4 次提交
    • J
      thermal: remove stale THERMAL_POWER_ACTOR select · db6cb88b
      Javi Merino 提交于
      A previous version of this patch had a config for THERMAL_POWER_ACTOR
      but it was dropped.  Remove the select as it is not doing anything.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Eduardo Valentin <edubezval@gmail.com>
      Reported-by: NValentin Rothberg <valentinrothberg@gmail.com>
      Signed-off-by: NJavi Merino <javi.merino@arm.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      db6cb88b
    • P
      thermal: core: Add Kconfig option to enable writable trips · 35e94644
      Punit Agrawal 提交于
      Add a Kconfig option to allow system integrators to control whether
      userspace tools can change trip temperatures. This option overrides
      the thermal zone setup in the driver code and must be enabled for
      platform specified writable trips to come into effect.
      
      The original behaviour of requiring root privileges to change trip
      temperatures remains unchanged.
      
      Cc: Eduardo Valentin <edubezval@gmail.com>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      35e94644
    • J
      thermal: introduce the Power Allocator governor · 6b775e87
      Javi Merino 提交于
      The power allocator governor is a thermal governor that controls system
      and device power allocation to control temperature.  Conceptually, the
      implementation divides the sustainable power of a thermal zone among
      all the heat sources in that zone.
      
      This governor relies on "power actors", entities that represent heat
      sources.  They can report current and maximum power consumption and
      can set a given maximum power consumption, usually via a cooling
      device.
      
      The governor uses a Proportional Integral Derivative (PID) controller
      driven by the temperature of the thermal zone.  The output of the
      controller is a power budget that is then allocated to each power
      actor that can have bearing on the temperature we are trying to
      control.  It decides how much power to give each cooling device based
      on the performance they are requesting.  The PID controller ensures
      that the total power budget does not exceed the control temperature.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Eduardo Valentin <edubezval@gmail.com>
      Signed-off-by: NPunit Agrawal <punit.agrawal@arm.com>
      Signed-off-by: NJavi Merino <javi.merino@arm.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      6b775e87
    • I
      thermal: Add QPNP PMIC temperature alarm driver · c610afaa
      Ivan T. Ivanov 提交于
      Add support for the temperature alarm peripheral found inside
      Qualcomm plug-and-play (QPNP) PMIC chips. The temperature alarm
      peripheral outputs a pulse on an interrupt line whenever the
      thermal over temperature stage value changes.
      
      Register a thermal sensor. The temperature reported by this thermal
      sensor device should reflect the actual PMIC die temperature if an
      ADC is present on the given PMIC. If no ADC is present, then the
      reported temperature should be estimated from the over temperature
      stage value.
      
      Cc: David Collins <collinsd@codeaurora.org>
      Signed-off-by: NIvan T. Ivanov <iivanov@mm-sol.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      c610afaa
  3. 25 11月, 2014 1 次提交
  4. 20 11月, 2014 2 次提交
    • M
      thermal: Add Tegra SOCTHERM thermal management driver · 66fb8480
      Mikko Perttunen 提交于
      This adds support for the Tegra SOCTHERM thermal sensing and management
      system found in the Tegra124 system-on-chip. This initial driver supports
      temperature polling for four thermal zones.
      Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      66fb8480
    • E
      thermal: introduce clock cooling device · f9df89d8
      Eduardo Valentin 提交于
      This patch introduces a new thermal cooling device based on common clock
      framework. The original motivation to write this cooling device is to be
      able to cool down thermal zones using clocks that feed co-processors, such
      as GPUs, DSPs, Image Processing Co-processors, etc. But it is written
      in a way that it can be used on top of any clock.
      
      The implementation is pretty straight forward. The code creates
      a thermal cooling device based on a pair of a struct device and a clock name.
      The struct device is assumed to be usable by the OPP layer. The OPP layer
      is used as source of the list of possible frequencies. The (cpufreq) frequency
      table is then used as a map from frequencies to cooling states. Cooling
      states are indexes to the frequency table.
      
      The logic sits on top of common clock framework, specifically on clock
      pre notifications. Any PRE_RATE_CHANGE is hijacked, and the transition is
      only allowed when the new rate is within the thermal limit (cooling state -> freq).
      
      When a thermal cooling device state transition is requested, the clock
      is also checked to verify if the current clock rate is within the new
      thermal limit.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      f9df89d8
  5. 17 10月, 2014 1 次提交
  6. 11 10月, 2014 2 次提交
    • J
      Thermal: int340x_thermal: expose acpi thermal relationship tables · 52b1c69d
      Jacob Pan 提交于
      ACPI 4.0 introduced two thermal relationship tables via _ART
      (active cooling) and  _TRT (passive cooling) objects. These
      tables contain many to many relationships among thermal sensors
      and cooling devices.
      
      This patch parses _ART and _TRT and makes the result available to
      the userspace via an misc device interface. At the same time,
      kernel drivers can also request parsing results from internal
      kernel APIs.
      
      The results include source and target devices, influence, and
      sampling rate in case of _TRT. For _ART, the result shows source
      device, target device, and weight percentage.
      Signed-off-by: NJacob Pan <jacob.jun.pan@linux.intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      52b1c69d
    • L
      Thermal: introduce int3403 thermal driver · 4384b8fe
      Lan Tianyu 提交于
      ACPI INT3403 device object can be used to retrieve temperature date
      from temperature sensors present in the system, and to expose
      device' performance control.
      
      The previous INT3403 thermal driver supports temperature reporting only,
      thus remove it and introduce this new & enhanced one.
      Signed-off-by: NLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      4384b8fe
  7. 10 10月, 2014 2 次提交
  8. 11 9月, 2014 1 次提交
    • Z
      ACPI: introduce ACPI int340x thermal scan handler · 3230bbfc
      Zhang Rui 提交于
      Newer laptops and tablets that use ACPI may have thermal sensors and
      other devices with thermal control capabilities outside the core CPU/SOC,
      for thermal safety reasons.
      They are exposed for the OS to use via
      1) INT3400 ACPI device object as the master.
      2) INT3401 ~ INT340B ACPI device objects as the slaves.
      
      This patch introduces a scan handler to enumerate the INT3400
      ACPI device object to platform bus, and prevent its slaves
      from being enumerated before the controller driver being probed.
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      3230bbfc
  9. 09 9月, 2014 1 次提交
  10. 27 8月, 2014 1 次提交
    • P
      thermal: Added Bang-bang thermal governor · e4dbf98f
      Peter Feuerer 提交于
      The bang-bang thermal governor uses a hysteresis to switch abruptly on
      or off a cooling device.  It is intended to control fans, which can
      not be throttled but just switched on or off.
      Bang-bang cannot be set as default governor as it is intended for
      special devices only.  For those special devices the driver needs to
      explicitely request it.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Andreas Mohr <andi@lisas.de>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Javi Merino <javi.merino@arm.com>
      Cc: linux-pm@vger.kernel.org
      Signed-off-by: NPeter Feuerer <peter@piie.net>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      e4dbf98f
  11. 15 7月, 2014 2 次提交
  12. 15 5月, 2014 1 次提交
    • S
      thermal: Intel SoC DTS thermal · bc40b5e3
      Srinivas Pandruvada 提交于
      In the Intel SoCs like Bay Trail, there are 2 additional digital temperature
      sensors(DTS), in addition to the standard DTSs in the core. Also they support
      4 programmable thresholds, out of which two can be used by OSPM. These
      thresholds can be used by OSPM thermal control. Out of these two thresholds,
      one is used by driver and one user mode can change via thermal sysfs to get
      notifications on threshold violations.
      
      The driver defines one critical trip points, which is set to TJ MAX - offset.
      The offset can be changed via module parameter (default 5C). Also it uses
      one of the thresholds to get notification for this temperature violation.
      This is very important for orderly shutdown as the many of these devices don't
      have ACPI thermal zone, and expects that there is some other thermal control
      mechanism present in OSPM. When a Linux distro is used without additional
      specialized thermal control program, BIOS can do force shutdown when thermals
      are not under control. When temperature reaches critical, the Linux thermal
      core will initiate an orderly shutdown.
      Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      bc40b5e3
  13. 07 5月, 2014 1 次提交
  14. 03 3月, 2014 2 次提交
  15. 25 2月, 2014 1 次提交
  16. 02 1月, 2014 2 次提交
  17. 04 12月, 2013 2 次提交
    • E
      thermal: cpu_cooling: introduce of_cpufreq_cooling_register · 39d99cff
      Eduardo Valentin 提交于
      This patch introduces an API to register cpufreq cooling device
      based on device tree node.
      
      The registration via device tree node differs from normal
      registration due to the fact that it is needed to fill
      the device_node structure in order to be able to match
      the cooling devices with trip points.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
      39d99cff
    • E
      thermal: introduce device tree parser · 4e5e4705
      Eduardo Valentin 提交于
      This patch introduces a device tree bindings for
      describing the hardware thermal behavior and limits.
      Also a parser to read and interpret the data and feed
      it in the thermal framework is presented.
      
      This patch introduces a thermal data parser for device
      tree. The parsed data is used to build thermal zones
      and thermal binding parameters. The output data
      can then be used to deploy thermal policies.
      
      This patch adds also documentation regarding this
      API and how to define tree nodes to use
      this infrastructure.
      
      Note that, in order to be able to have control
      on the sensor registration on the DT thermal zone,
      it was required to allow changing the thermal zone
      .get_temp callback. For this reason, this patch
      also removes the 'const' modifier from the .ops
      field of thermal zone devices.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
      4e5e4705
  18. 16 10月, 2013 1 次提交
  19. 09 10月, 2013 1 次提交
  20. 25 9月, 2013 1 次提交
  21. 03 9月, 2013 1 次提交
    • E
      thermal: hwmon: move hwmon support to single file · 0dd88793
      Eduardo Valentin 提交于
      In order to improve code organization, this patch
      moves the hwmon sysfs support to a file named
      thermal_hwmon. This helps to add extra support
      for hwmon without scrambling the code.
      
      In order to do this move, the hwmon list head is now
      using its own locking. Before, the list used
      the global thermal locking. Also, some minor changes
      in the code were required, as recommended by checkpatch.pl.
      
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Acked-by: NDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
      0dd88793
  22. 13 8月, 2013 2 次提交
  23. 18 6月, 2013 2 次提交
  24. 28 5月, 2013 1 次提交
    • E
      thermal: introduce TI SoC thermal driver · eb982001
      Eduardo Valentin 提交于
      This patch moves the ti-soc-thermal driver out of
      the staging tree to the thermal tree.
      
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Rob Landley <rob@landley.net>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Zhang Rui <rui.zhang@intel.com>
      Cc: Eduardo Valentin <eduardo.valentin@ti.com>
      Cc: J Keerthy <j-keerthy@ti.com>
      Cc: Radhesh Fadnis <radhesh.fadnis@ti.com>
      Cc: Cyril Roelandt <tipecaml@gmail.com>
      Cc: devicetree-discuss@lists.ozlabs.org
      Cc: linux-doc@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: devel@driverdev.osuosl.org
      Cc: linux-pm@vger.kernel.org
      Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      eb982001
  25. 25 4月, 2013 1 次提交
  26. 14 4月, 2013 1 次提交
  27. 02 4月, 2013 2 次提交