An error occurred fetching the project authors.
  1. 18 Feb, 2016 1 commit
  2. 30 Oct, 2015 1 commit
  3. 04 Aug, 2015 1 commit
  4. 03 Jun, 2015 1 commit
  5. 05 May, 2015 2 commits
    • Javi Merino's avatar
      thermal: introduce the Power Allocator governor · 6b775e87
      Javi Merino authored
      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: default avatarPunit Agrawal <punit.agrawal@arm.com>
      Signed-off-by: default avatarJavi Merino <javi.merino@arm.com>
      Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
      6b775e87
    • Ivan T. Ivanov's avatar
      thermal: Add QPNP PMIC temperature alarm driver · c610afaa
      Ivan T. Ivanov authored
      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: default avatarIvan T. Ivanov <iivanov@mm-sol.com>
      Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
      c610afaa
  6. 01 May, 2015 2 commits
    • Ong, Boon Leong's avatar
      thermal: intel Quark SoC X1000 DTS thermal driver · 8c187693
      Ong, Boon Leong authored
      In Intel Quark SoC X1000, there is one on-die digital temperature sensor(DTS).
      The DTS offers both hot & critical trip points.
      
      However, in current distribution of UEFI BIOS for Quark platform, only
      critical trip point is configured to be 105 degree Celsius (based on Quark
      SW ver1.0.1 and hot trip point is not used due to lack of IRQ.
      
      There is no active cooling device for Quark SoC, so Quark SoC thermal
      management logic expects Linux distro to orderly power-off when temperature
      of the DTS exceeds the configured critical trip point.
      
      Kernel param "polling_delay" in milliseconds is used to control the frequency
      the DTS temperature is read by thermal framework. It defaults to 2-second.
      To change it, use kernel boot param "intel_quark_dts_thermal.polling_delay=X".
      
      User interacts with Quark SoC DTS thermal driver through sysfs via:
      /sys/class/thermal/thermal_zone0/
      
      For example:
       - to read DTS temperature
         $ cat temp
       - to read critical trip point
         $ cat trip_point_0_temp
       - to read trip point type
         $ cat trip_point_0_type
       - to emulate temperature raise to test orderly shutdown by Linux distro
         $ echo 105 > emul_temp
      Tested-by: default avatarBryan O'Donoghue <pure.logic@nexus-software.ie>
      Signed-off-by: default avatarOng Boon Leong <boon.leong.ong@intel.com>
      Reviewed-by: default avatarBryan O'Donoghue <pure.logic@nexus-software.ie>
      Reviewed-by: default avatarKweh, Hock Leong <hock.leong.kweh@intel.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      8c187693
    • Srinivas Pandruvada's avatar
      Thermal: Intel SoC: DTS thermal IOSF core · ee073604
      Srinivas Pandruvada authored
      This is becoming a common feature for Intel SoCs to expose the additional
      digital temperature sensors (DTSs) using side band interface (IOSF). This
      change remove common IOSF DTS handler function from the existing driver
      intel_soc_dts_thermal.c and creates a stand alone module, which can
      be selected from the SoC specific drivers. In this way there is less
      code duplication.
      Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      ee073604
  7. 24 Nov, 2014 1 commit
  8. 20 Nov, 2014 2 commits
    • Mikko Perttunen's avatar
      thermal: Add Tegra SOCTHERM thermal management driver · 66fb8480
      Mikko Perttunen authored
      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: default avatarMikko Perttunen <mperttunen@nvidia.com>
      Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
      66fb8480
    • Eduardo Valentin's avatar
      thermal: introduce clock cooling device · f9df89d8
      Eduardo Valentin authored
      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: default avatarEduardo Valentin <eduardo.valentin@ti.com>
      Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
      f9df89d8
  9. 11 Oct, 2014 1 commit
  10. 10 Oct, 2014 1 commit
  11. 27 Aug, 2014 1 commit
    • Peter Feuerer's avatar
      thermal: Added Bang-bang thermal governor · e4dbf98f
      Peter Feuerer authored
      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: default avatarPeter Feuerer <peter@piie.net>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      e4dbf98f
  12. 15 Jul, 2014 1 commit
  13. 15 May, 2014 1 commit
    • Srinivas Pandruvada's avatar
      thermal: Intel SoC DTS thermal · bc40b5e3
      Srinivas Pandruvada authored
      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: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      bc40b5e3
  14. 02 Jan, 2014 1 commit
  15. 04 Dec, 2013 1 commit
    • Eduardo Valentin's avatar
      thermal: introduce device tree parser · 4e5e4705
      Eduardo Valentin authored
      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: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarEduardo Valentin <eduardo.valentin@ti.com>
      4e5e4705
  16. 03 Sep, 2013 1 commit
    • Eduardo Valentin's avatar
      thermal: hwmon: move hwmon support to single file · 0dd88793
      Eduardo Valentin authored
      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: default avatarDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: default avatarEduardo Valentin <eduardo.valentin@ti.com>
      0dd88793
  17. 13 Aug, 2013 2 commits
  18. 17 Jun, 2013 1 commit
  19. 28 May, 2013 1 commit
    • Eduardo Valentin's avatar
      thermal: introduce TI SoC thermal driver · eb982001
      Eduardo Valentin authored
      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: default avatarEduardo Valentin <eduardo.valentin@ti.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      eb982001
  20. 14 Apr, 2013 2 commits
  21. 13 Apr, 2013 1 commit
  22. 02 Apr, 2013 1 commit
    • Ezequiel Garcia's avatar
      thermal: Add driver for Armada 370/XP SoC thermal management · fa0d654c
      Ezequiel Garcia authored
      This driver supports both Armada 370 and Armada XP SoC
      thermal management controllers.
      
      Armada 370 has a register to check a valid temperature, whereas
      Armada XP does not. Each has a different initialization (i.e. calibration)
      function. The temperature conversion formula is the same for both.
      
      The controller present in each SoC have a very similar feature set,
      so it corresponds to have one driver to support both of them.
      
      Although this driver may present similarities to Dove and Kirkwood
      thermal driver, the exact differences and coincidences are not fully
      known. For this reason, support is given through a separate driver.
      Signed-off-by: default avatarEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      fa0d654c
  23. 08 Feb, 2013 3 commits
  24. 06 Feb, 2013 1 commit
  25. 15 Nov, 2012 2 commits
  26. 05 Nov, 2012 3 commits
  27. 24 Sep, 2012 3 commits
    • Amit Daniel Kachhap's avatar
      hwmon: exynos4: move thermal sensor driver to driver/thermal directory · c48cbba6
      Amit Daniel Kachhap authored
      This movement is needed because the hwmon entries and corresponding sysfs
      interface is a duplicate of utilities already provided by
      driver/thermal/thermal_sys.c.  The goal is to place it in thermal folder
      and add necessary functions to use the in-kernel thermal interfaces.
      Signed-off-by: default avatarAmit Daniel Kachhap <amit.kachhap@linaro.org>
      Acked-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
      Cc: SangWook Ju <sw.ju@samsung.com>
      Cc: Durgadoss <durgadoss.r@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Kyungmin Park <kmpark@infradead.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      c48cbba6
    • Amit Daniel Kachhap's avatar
      thermal: add generic cpufreq cooling implementation · 02361418
      Amit Daniel Kachhap authored
      This patchset introduces a new generic cooling device based on cpufreq
      that can be used on non-ACPI platforms.  As a proof of concept, we have
      drivers for the following platforms using this mechanism now:
      
       * Samsung Exynos (Exynos4 and Exynos5) in the current patchset.
       * Freescale i.MX (git://git.linaro.org/people/amitdanielk/linux.git imx6q_thermal)
      
      There is a small change in cpufreq cooling registration APIs, so a minor
      change is needed for Freescale platforms.
      
      Brief Description:
      
      1) The generic cooling devices code is placed inside driver/thermal/*
         as placing inside acpi folder will need un-necessary enabling of acpi
         code.  This code is architecture independent.
      
      2) This patchset adds generic cpu cooling low level implementation
         through frequency clipping.  In future, other cpu related cooling
         devices may be added here.  An ACPI version of this already exists
         (drivers/acpi/processor_thermal.c) .But this will be useful for
         platforms like ARM using the generic thermal interface along with the
         generic cpu cooling devices.  The cooling device registration API's
         return cooling device pointers which can be easily binded with the
         thermal zone trip points.  The important APIs exposed are,
      
         a) struct thermal_cooling_device *cpufreq_cooling_register(
              struct cpumask *clip_cpus)
         b) void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
      
      3) Samsung exynos platform thermal implementation is done using the
         generic cpu cooling APIs and the new trip type.  The temperature sensor
         driver present in the hwmon folder(registered as hwmon driver) is moved
         to thermal folder and registered as a thermal driver.
      
      A simple data/control flow diagrams is shown below,
      
      Core Linux thermal <----->  Exynos thermal interface <----- Temperature Sensor
                |                             |
               \|/                            |
        Cpufreq cooling device <---------------
      
      TODO:
      *Will send the DT enablement patches later after the driver is merged.
      
      This patch:
      
      Add support for generic cpu thermal cooling low level implementations
      using frequency scaling up/down based on the registration parameters.
      Different cpu related cooling devices can be registered by the user and
      the binding of these cooling devices to the corresponding trip points can
      be easily done as the registration APIs return the cooling device pointer.
      The user of these APIs are responsible for passing clipping frequency .
      The drivers can also register to recieve notification about any cooling
      action called.
      
      [akpm@linux-foundation.org: fix comment layout]
      Signed-off-by: default avatarAmit Daniel Kachhap <amit.kachhap@linaro.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Cc: SangWook Ju <sw.ju@samsung.com>
      Cc: Durgadoss <durgadoss.r@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Kyungmin Park <kmpark@infradead.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      02361418
    • Kuninori Morimoto's avatar
      thermal: add Renesas R-Car thermal sensor support · 1e426ffd
      Kuninori Morimoto authored
      This patch add basic Renesas R-Car thermal sensor support.
      It was tested on R-Car H1 Marzen board.
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      1e426ffd
  28. 22 Mar, 2012 1 commit