1. 10 2月, 2016 1 次提交
    • A
      thermal: allow spear-thermal driver to be a module · 4d2f1794
      Arnd Bergmann 提交于
      When the thermal subsystem is a loadable module, the spear driver
      fails to build:
      
      drivers/thermal/built-in.o: In function `spear_thermal_exit':
      spear_thermal.c:(.text+0xf8): undefined reference to `thermal_zone_device_unregister'
      drivers/thermal/built-in.o: In function `spear_thermal_probe':
      spear_thermal.c:(.text+0x230): undefined reference to `thermal_zone_device_register'
      
      This changes the symbol to a tristate, so Kconfig can track the
      dependency correctly.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      4d2f1794
  2. 24 11月, 2015 1 次提交
    • A
      Revert "thermal: qcom_spmi: allow compile test" · e4217468
      Arnd Bergmann 提交于
      This just caused build errors:
      
      warning: (QCOM_SPMI_TEMP_ALARM) selects REGMAP_SPMI which has unmet direct dependencies (SPMI)
      drivers/built-in.o: In function `regmap_spmi_ext_gather_write':
      :(.text+0x609b0): undefined reference to `spmi_ext_register_write'
      :(.text+0x609f0): undefined reference to `spmi_ext_register_writel'
      
      While it's generally a good idea to allow compile testing, in this
      case, it just doesn't work, so reverting the patch that
      introduced the compile-test variant seems the most appropriate
      solution.
      
      Note that SPMI also has a 'depends on ARCH_QCOM || COMPILE_TEST'
      statement, so we should be able to enable SPMI on all architectures
      for compile testing already.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: cb7fb4d3 ("thermal: qcom_spmi: allow compile test")
      Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
      e4217468
  3. 31 10月, 2015 1 次提交
  4. 10 10月, 2015 1 次提交
  5. 14 9月, 2015 9 次提交
  6. 04 8月, 2015 1 次提交
  7. 04 6月, 2015 1 次提交
  8. 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
  9. 01 5月, 2015 4 次提交
  10. 25 11月, 2014 1 次提交
  11. 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
  12. 17 10月, 2014 1 次提交
  13. 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
  14. 10 10月, 2014 2 次提交
  15. 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
  16. 09 9月, 2014 1 次提交
  17. 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
  18. 15 7月, 2014 2 次提交
  19. 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
  20. 07 5月, 2014 1 次提交
  21. 03 3月, 2014 2 次提交