Skip to content

Commit

Permalink
Merge tag 'thermal-5.18-rc1' of git://git.kernel.org/pub/scm/linux/ke…
Browse files Browse the repository at this point in the history
…rnel/git/rafael/linux-pm

Pull thermal control updates from Rafael Wysocki:
 "As far as new functionality is concerned, there is a new thermal
  driver for the Intel Hardware Feedback Interface (HFI) along with some
  intel-speed-select utility changes to support it. There are also new
  DT compatible strings for a couple of platforms, and thermal zones on
  some platforms will be registered as HWmon sensors now.

  Apart from the above, some drivers are updated (fixes mostly) and
  there is a new piece of documentation for the Intel DPTF (Dynamic
  Power and Thermal Framework) sysfs interface.

  Specifics:

   - Add a new thermal driver for the Intel Hardware Feedback Interface
     (HFI) including the HFI initialization, HFI notification interrupt
     handling and sending CPU capabilities change messages to user space
     via the thermal netlink interface (Ricardo Neri, Srinivas
     Pandruvada, Nathan Chancellor, Randy Dunlap).

   - Extend the intel-speed-select utility to handle out-of-band CPU
     configuration changes and add support for the CPU capabilities
     change messages sent over the thermal netlink interface by the new
     HFI thermal driver to it (Srinivas Pandruvada).

   - Convert the DT bindings to yaml format for the Exynos platform and
     fix and update the MAINTAINERS file for this driver (Krzysztof
     Kozlowski).

   - Register the thermal zones as HWmon sensors for the QCom's Tsens
     driver and TI thermal platforms (Dmitry Baryshkov, Romain Naour).

   - Add the msm8953 compatible documentation in the bindings (Luca
     Weiss).

   - Add the sm8150 platform support to the QCom LMh driver's DT binding
     (Thara Gopinath).

   - Check the command result from the IPC command to the BPMP in the
     Tegra driver (Mikko Perttunen).

   - Silence the error for normal configuration where the interrupt is
     optionnal in the Broadcom thermal driver (Florian Fainelli).

   - Remove remaining dead code from the TI thermal driver (Yue
     Haibing).

   - Don't use bitmap_weight() in end_power_clamp() in the powerclamp
     driver (Yury Norov).

   - Update the OS policy capabilities handshake in the int340x thermal
     driver (Srinivas Pandruvada).

   - Increase the policies bitmap size in int340x (Srinivas Pandruvada).

   - Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() in the
     int340x thermal driver (Rafael Wysocki).

   - Check for NULL after calling kmemdup() in int340x (Jiasheng Jiang).

   - Add Intel Dynamic Power and Thermal Framework (DPTF) kernel
     interface documentation (Srinivas Pandruvada).

   - Fix bullet list warning in the thermal documentation (Randy
     Dunlap)"

* tag 'thermal-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (30 commits)
  thermal: int340x: Update OS policy capability handshake
  thermal: int340x: Increase bitmap size
  Documentation: thermal: DPTF Documentation
  MAINTAINERS: thermal: samsung: update Krzysztof Kozlowski's email
  thermal/drivers/ti-soc-thermal: Remove unused function ti_thermal_get_temp()
  thermal/drivers/brcmstb_thermal: Interrupt is optional
  thermal: tegra-bpmp: Handle errors in BPMP response
  drivers/thermal/ti-soc-thermal: Add hwmon support
  dt-bindings: thermal: tsens: Add msm8953 compatible
  dt-bindings: thermal: Add sm8150 compatible string for LMh
  thermal/drivers/qcom/lmh: Add support for sm8150
  thermal/drivers/tsens: register thermal zones as hwmon sensors
  MAINTAINERS: thermal: samsung: Drop obsolete properties
  dt-bindings: thermal: samsung: Convert to dtschema
  tools/power/x86/intel-speed-select: v1.12 release
  tools/power/x86/intel-speed-select: HFI support
  tools/power/x86/intel-speed-select: OOB daemon mode
  thermal: intel: hfi: INTEL_HFI_THERMAL depends on NET
  thermal: netlink: Fix parameter type of thermal_genl_cpu_capability_event() stub
  thermal: Replace acpi_bus_get_device()
  ...
  • Loading branch information
torvalds committed Mar 21, 2022
2 parents 02b82b0 + 31035f3 commit f648372
Show file tree
Hide file tree
Showing 34 changed files with 2,026 additions and 235 deletions.
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-class-thermal
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ Description:

- for generic ACPI: should be "Fan", "Processor" or "LCD"
- for memory controller device on intel_menlow platform:
should be "Memory controller".
should be "Memory controller".

RO, Required

Expand Down
106 changes: 0 additions & 106 deletions Documentation/devicetree/bindings/thermal/exynos-thermal.txt

This file was deleted.

1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/thermal/qcom-lmh.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ properties:
compatible:
enum:
- qcom,sdm845-lmh
- qcom,sm8150-lmh

reg:
items:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ properties:
- description: v2 of TSENS
items:
- enum:
- qcom,msm8953-tsens
- qcom,msm8996-tsens
- qcom,msm8998-tsens
- qcom,sc7180-tsens
Expand Down
184 changes: 184 additions & 0 deletions Documentation/devicetree/bindings/thermal/samsung,exynos-thermal.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/thermal/samsung,exynos-thermal.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung Exynos SoC Thermal Management Unit (TMU)

maintainers:
- Krzysztof Kozlowski <[email protected]>

description: |
For multi-instance tmu each instance should have an alias correctly numbered
in "aliases" node.
properties:
compatible:
enum:
- samsung,exynos3250-tmu
- samsung,exynos4412-tmu
- samsung,exynos4210-tmu
- samsung,exynos5250-tmu
- samsung,exynos5260-tmu
# For TMU channel 0, 1 on Exynos5420:
- samsung,exynos5420-tmu
# For TMU channels 2, 3 and 4 of Exynos5420:
- samsung,exynos5420-tmu-ext-triminfo
- samsung,exynos5433-tmu
- samsung,exynos7-tmu

clocks:
minItems: 1
maxItems: 3

clock-names:
minItems: 1
maxItems: 3

interrupts:
description: |
The Exynos TMU supports generating interrupts when reaching given
temperature thresholds. Number of supported thermal trip points depends
on the SoC (only first trip points defined in DT will be configured)::
- most of SoC: 4
- samsung,exynos5433-tmu: 8
- samsung,exynos7-tmu: 8
maxItems: 1

reg:
items:
- description: TMU instance registers.
- description: |
Shared TMU registers.
Note:: On Exynos5420, the TRIMINFO register is misplaced for TMU
channels 2, 3 and 4 Use "samsung,exynos5420-tmu-ext-triminfo" in
cases, there is a misplaced register, also provide clock to access
that base.
TRIMINFO at 0x1006c000 contains data for TMU channel 3
TRIMINFO at 0x100a0000 contains data for TMU channel 4
TRIMINFO at 0x10068000 contains data for TMU channel 2
minItems: 1

'#thermal-sensor-cells': true

vtmu-supply:
description: The regulator node supplying voltage to TMU.

required:
- compatible
- clocks
- clock-names
- interrupts
- reg

allOf:
- $ref: /schemas/thermal/thermal-sensor.yaml
- if:
properties:
compatible:
contains:
const: samsung,exynos5420-tmu-ext-triminfo
then:
properties:
clocks:
items:
- description:
Operational clock for TMU channel.
- description:
Optional clock to access the shared registers (e.g. TRIMINFO) of TMU
channel.
clock-names:
items:
- const: tmu_apbif
- const: tmu_triminfo_apbif
reg:
minItems: 2
maxItems: 2
- if:
properties:
compatible:
contains:
enum:
- samsung,exynos5433-tmu
- samsung,exynos7-tmu
then:
properties:
clocks:
items:
- description:
Operational clock for TMU channel.
- description:
Optional special clock for functional operation of TMU channel.
clock-names:
items:
- const: tmu_apbif
- const: tmu_sclk
reg:
minItems: 1
maxItems: 1

- if:
properties:
compatible:
contains:
enum:
- samsung,exynos3250-tmu
- samsung,exynos4412-tmu
- samsung,exynos4210-tmu
- samsung,exynos5250-tmu
- samsung,exynos5260-tmu
- samsung,exynos5420-tmu
then:
properties:
clocks:
minItems: 1
maxItems: 1
reg:
minItems: 1
maxItems: 1

additionalProperties: false

examples:
- |
#include <dt-bindings/clock/exynos4.h>
tmu@100c0000 {
compatible = "samsung,exynos4412-tmu";
reg = <0x100C0000 0x100>;
interrupt-parent = <&combiner>;
interrupts = <2 4>;
#thermal-sensor-cells = <0>;
clocks = <&clock CLK_TMU_APBIF>;
clock-names = "tmu_apbif";
vtmu-supply = <&ldo10_reg>;
};
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
tmu@10068000 {
compatible = "samsung,exynos5420-tmu-ext-triminfo";
reg = <0x10068000 0x100>, <0x1006c000 0x4>;
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
#thermal-sensor-cells = <0>;
clocks = <&clock 318>, <&clock 318>; /* CLK_TMU */
clock-names = "tmu_apbif", "tmu_triminfo_apbif";
vtmu-supply = <&ldo7_reg>;
};
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
tmu@10060000 {
compatible = "samsung,exynos5433-tmu";
reg = <0x10060000 0x200>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
#thermal-sensor-cells = <0>;
clocks = <&cmu_peris 3>, /* CLK_PCLK_TMU0_APBIF */
<&cmu_peris 35>; /* CLK_SCLK_TMU0 */
clock-names = "tmu_apbif", "tmu_sclk";
vtmu-supply = <&ldo3_reg>;
};
1 change: 1 addition & 0 deletions Documentation/driver-api/thermal/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ Thermal
intel_powerclamp
nouveau_thermal
x86_pkg_temperature_thermal
intel_dptf
Loading

0 comments on commit f648372

Please sign in to comment.