1. 20 11月, 2014 1 次提交
    • 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
  2. 11 10月, 2014 1 次提交
  3. 10 10月, 2014 1 次提交
  4. 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
  5. 15 7月, 2014 1 次提交
  6. 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
  7. 02 1月, 2014 1 次提交
  8. 04 12月, 2013 1 次提交
    • 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
  9. 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
  10. 13 8月, 2013 2 次提交
  11. 18 6月, 2013 1 次提交
  12. 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
  13. 14 4月, 2013 3 次提交
  14. 02 4月, 2013 1 次提交
    • E
      thermal: Add driver for Armada 370/XP SoC thermal management · fa0d654c
      Ezequiel Garcia 提交于
      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: NEzequiel Garcia <ezequiel.garcia@free-electrons.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      fa0d654c
  15. 08 2月, 2013 3 次提交
  16. 06 2月, 2013 1 次提交
  17. 15 11月, 2012 2 次提交
  18. 05 11月, 2012 3 次提交
  19. 24 9月, 2012 3 次提交
    • A
      hwmon: exynos4: move thermal sensor driver to driver/thermal directory · c48cbba6
      Amit Daniel Kachhap 提交于
      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: NAmit Daniel Kachhap <amit.kachhap@linaro.org>
      Acked-by: NGuenter 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      c48cbba6
    • A
      thermal: add generic cpufreq cooling implementation · 02361418
      Amit Daniel Kachhap 提交于
      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: NAmit 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      02361418
    • K
      thermal: add Renesas R-Car thermal sensor support · 1e426ffd
      Kuninori Morimoto 提交于
      This patch add basic Renesas R-Car thermal sensor support.
      It was tested on R-Car H1 Marzen board.
      Signed-off-by: NKuninori 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      1e426ffd
  20. 22 3月, 2012 1 次提交
  21. 29 4月, 2008 2 次提交
  22. 02 2月, 2008 1 次提交