/Linux-v6.1/Documentation/driver-api/thermal/ |
D | sysfs-api.rst | 16 devices (sensors) and thermal cooling devices (fan, processor...) to register 19 This how-to focuses on enabling new thermal zone and cooling devices to 22 and cooling devices should be able to make use of the infrastructure. 25 as well as cooling device attributes to the user space. 30 - `[0-*]` denotes any positive number starting from 0 31 - `[1-*]` denotes any positive number starting from 1 36 1.1 thermal zone device interface 37 --------------------------------- 48 This interface function adds a new thermal zone device (sensor) to 49 /sys/class/thermal folder as `thermal_zone[0-*]`. It tries to bind all the [all …]
|
D | cpu-cooling-api.rst | 2 CPU cooling APIs How To 14 The generic cpu cooling(freq clipping) provides registration/unregistration APIs 15 to the caller. The binding of the cooling devices to the trip point is left for 16 the user. The registration APIs returns the cooling device pointer. 18 1. cpu cooling APIs 22 -------------------------------------------- 29 This interface function registers the cpufreq cooling device with the name 30 "thermal-cpufreq-%x". This api can support multiple instances of cpufreq 31 cooling devices. 41 This interface function registers the cpufreq cooling device with [all …]
|
D | power_allocator.rst | 6 ----------- 20 -------------- 23 Proportional-Integral-Derivative controller (PID controller) with 29 - e = desired_temperature - current_temperature 30 - err_integral is the sum of previous errors 31 - diff_err = e - previous_error 39 | +----------+ +---+ 40 | +----->| diff_err |-->| X |------+ 41 | | +----------+ +---+ | 47 +---+ | +-------+ +---+ +---+ +---+ +----------+ [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/thermal/ |
D | thermal-cooling-devices.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-cooling-devices.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Thermal cooling device binding 11 - Amit Kucheria <amitk@kernel.org> 15 and the software abstraction of cooling devices and thermal zones required to 20 - thermal-sensor: device that measures temperature, has SoC-specific bindings 21 - cooling-device: device used to dissipate heat either passively or actively 22 - thermal-zones: a container of the following node types used to describe all [all …]
|
D | thermal-idle.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-idle.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Thermal idle cooling device binding 11 - Daniel Lezcano <daniel.lezcano@linaro.org> 14 The thermal idle cooling device allows the system to passively 15 mitigate the temperature on the device by injecting idle cycles, 22 const: thermal-idle 24 A thermal-idle node describes the idle cooling device properties to [all …]
|
D | thermal-zones.yaml | 1 # SPDX-License-Identifier: (GPL-2.0) 4 --- 5 $id: http://devicetree.org/schemas/thermal/thermal-zones.yaml# 6 $schema: http://devicetree.org/meta-schemas/base.yaml# 11 - Amit Kucheria <amitk@kernel.org> 15 and the software abstraction of cooling devices and thermal zones required to 20 - thermal-sensor: device that measures temperature, has SoC-specific bindings 21 - cooling-device: device used to dissipate heat either passively or actively 22 - thermal-zones: a container of the following node types used to describe all 25 This binding describes the thermal-zones. [all …]
|
D | nvidia,tegra124-soctherm.txt | 4 or interrupt-based thermal monitoring, CPU and GPU throttling based 10 - compatible : For Tegra124, must contain "nvidia,tegra124-soctherm". 11 For Tegra132, must contain "nvidia,tegra132-soctherm". 12 For Tegra210, must contain "nvidia,tegra210-soctherm". 13 - reg : Should contain at least 2 entries for each entry in reg-names: 14 - SOCTHERM register set 15 - Tegra CAR register set: Required for Tegra124 and Tegra210. 16 - CCROC register set: Required for Tegra132. 17 - reg-names : Should contain at least 2 entries: 18 - soctherm-reg [all …]
|
/Linux-v6.1/drivers/thermal/ |
D | cpufreq_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Copyright (C) 2012-2018 Linaro Limited. 16 #include <linux/device.h> 29 * Cooling state <-> CPUFreq frequency 31 * Cooling states are translated to frequencies throughout this driver and this 34 * Highest cooling state corresponds to lowest possible frequency. 37 * level 0 --> 1st Max Freq 38 * level 1 --> 2nd Max Freq 43 * struct time_in_idle - Idle time stats 53 * struct cpufreq_cooling_device - data for cooling device with cpufreq [all …]
|
D | devfreq_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * devfreq_cooling: Thermal cooling device implementation for devices using 6 * Copyright (C) 2014-2015 ARM Limited 9 * - If OPPs are added or removed after devfreq cooling has 10 * registered, the devfreq cooling won't react to it. 28 * struct devfreq_cooling_device - Devfreq cooling device 30 * @cdev: Pointer to associated thermal cooling device. 31 * @cooling_ops: devfreq callbacks to thermal cooling device ops 32 * @devfreq: Pointer to associated devfreq device. 33 * @cooling_state: Current cooling state. [all …]
|
D | cpuidle_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #define pr_fmt(fmt) "cpuidle cooling: " fmt 12 #include <linux/device.h> 20 * struct cpuidle_cooling_device - data for the idle cooling device 22 * @state: a normalized integer giving the state of the cooling device 30 * cpuidle_cooling_runtime - Running time computation 42 * running = idle x ((100 / ratio) - 1) 46 * running = (idle x 100) / ratio - idle 59 return ((idle_duration_us * 100) / state) - idle_duration_us; in cpuidle_cooling_runtime() 63 * cpuidle_cooling_get_max_state - Get the maximum state [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 11 zones and cooling devices. 13 and cooling devices. 26 trip point crossed, cooling device update or governor 37 int "Emergency poweroff delay in milli-seconds" 54 prompt "Expose thermal sensors as hwmon device" 68 prompt "APIs to parse thermal data out of device tree" 74 device tree blob. 77 based on device tree. 126 system and device power allocation. This governor can only [all …]
|
D | thermal_core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * thermal.c - Generic Thermal Management Sysfs support. 12 #include <linux/device.h> 59 if (!strncasecmp(name, pos->name, THERMAL_NAME_LENGTH)) in __find_governor() 66 * bind_previous_governor() - bind the previous governor of the thermal zone 76 if (tz->governor && tz->governor->bind_to_tz) { in bind_previous_governor() 77 if (tz->governor->bind_to_tz(tz)) { in bind_previous_governor() 78 dev_err(&tz->device, in bind_previous_governor() 80 failed_gov_name, tz->governor->name, tz->type); in bind_previous_governor() 81 tz->governor = NULL; in bind_previous_governor() [all …]
|
D | thermal_core.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 #include <linux/device.h> 28 /* Initial state of a cooling device during binding */ 29 #define THERMAL_NO_TARGET -1UL 64 return cdev->ops->get_requested_power && cdev->ops->state2power && in cdev_is_power_actor() 65 cdev->ops->power2state; in cdev_is_power_actor() 80 * a certain cooling device on a certain trip point 90 unsigned long upper; /* Highest cooling state for this trip point */ 91 unsigned long lower; /* Lowest cooling state for this trip point */ 92 unsigned long target; /* expected cooling state */ [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | exynos5422-odroidxu3-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Hardkernel Odroid XU3/XU3-Lite/XU4 boards common device tree source 12 #include <dt-bindings/input/input.h> 13 #include "exynos5422-odroid-core.dtsi" 16 gpio-keys { 17 compatible = "gpio-keys"; 18 pinctrl-names = "default"; 19 pinctrl-0 = <&power_key>; 21 power-key { 32 debounce-interval = <0>; [all …]
|
D | exynos5422-odroidhc1.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Hardkernel Odroid HC1 board device tree source 10 /dts-v1/; 11 #include <dt-bindings/leds/common.h> 12 #include "exynos5422-odroid-core.dtsi" 16 compatible = "hardkernel,odroid-hc1", "samsung,exynos5800", \ 19 led-controller { 20 compatible = "pwm-leds"; 22 led-1 { 26 pwm-names = "pwm2"; [all …]
|
D | rk3288-veyron-mickey.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Google Veyron Mickey Rev 0 board device tree source 8 /dts-v1/; 9 #include "rk3288-veyron.dtsi" 10 #include "rk3288-veyron-broadcom-bluetooth.dtsi" 14 compatible = "google,veyron-mickey-rev8", "google,veyron-mickey-rev7", 15 "google,veyron-mickey-rev6", "google,veyron-mickey-rev5", 16 "google,veyron-mickey-rev4", "google,veyron-mickey-rev3", 17 "google,veyron-mickey-rev2", "google,veyron-mickey-rev1", 18 "google,veyron-mickey-rev0", "google,veyron-mickey", [all …]
|
/Linux-v6.1/Documentation/ABI/testing/ |
D | sysfs-class-thermal | 5 E.g: "acpitz" indicates it's an ACPI thermal device. 61 E.g. it can be one of critical, hot, passive, `active[0-*]` 77 Sysfs link to the thermal cooling device node where the sys I/F 78 for cooling device throttling control represents. 84 The trip point in this thermal zone which `cdev[0-*]` is 85 associated with; -1 means the cooling device is not 92 The influence of `cdev[0-*]` in this thermal zone. This value 93 is relative to the rest of cooling devices in the thermal 94 zone. For example, if a cooling device has a weight double 95 than that of other, it's twice as effective in cooling the [all …]
|
/Linux-v6.1/tools/thermal/tmon/ |
D | tmon.8 | 2 # SPDX-License-Identifier: GPL-2.0 4 \fBtmon\fP - A monitoring and testing tool for Linux kernel thermal subsystem 13 real-time thermal data; tune 14 and test cooling devices and sensors; collect thermal data for offline 15 analysis and plot. \fBtmon\fP must be run as root in order to control device 22 - show thermal zone information 23 - show cooling device information 24 - show trip point binding within each thermal zone 25 - show trip point and cooling device instance bindings 28 - show temperature of all thermal zones w.r.t. its trip points and types [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/hwmon/ |
D | aspeed-pwm-tacho.txt | 1 ASPEED AST2400/AST2500 PWM and Fan Tacho controller device driver 9 Required properties for pwm-tacho node: 10 - #address-cells : should be 1. 12 - #size-cells : should be 1. 14 - #cooling-cells: should be 2. 16 - reg : address and length of the register set for the device. 18 - pinctrl-names : a pinctrl state named "default" must be defined. 20 - pinctrl-0 : phandle referencing pin configuration of the PWM ports. 22 - compatible : should be "aspeed,ast2400-pwm-tacho" for AST2400 and 23 "aspeed,ast2500-pwm-tacho" for AST2500. [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/exynos/ |
D | exynos5433-tmu.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device tree sources for Exynos5433 thermal zone 8 #include <dt-bindings/thermal/thermal.h> 11 thermal-zones { 12 atlas0_thermal: atlas0-thermal { 13 thermal-sensors = <&tmu_atlas0>; 14 polling-delay-passive = <0>; 15 polling-delay = <0>; 17 atlas0_alert_0: atlas0-alert-0 { 22 atlas0_alert_1: atlas0-alert-1 { [all …]
|
/Linux-v6.1/drivers/gpu/drm/lima/ |
D | lima_devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include <linux/device.h> 24 last = devfreq->time_last_update; in lima_devfreq_update_utilization() 26 if (devfreq->busy_count > 0) in lima_devfreq_update_utilization() 27 devfreq->busy_time += ktime_sub(now, last); in lima_devfreq_update_utilization() 29 devfreq->idle_time += ktime_sub(now, last); in lima_devfreq_update_utilization() 31 devfreq->time_last_update = now; in lima_devfreq_update_utilization() 34 static int lima_devfreq_target(struct device *dev, unsigned long *freq, in lima_devfreq_target() 49 devfreq->busy_time = 0; in lima_devfreq_reset() 50 devfreq->idle_time = 0; in lima_devfreq_reset() [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/marvell/ |
D | armada-8040-clearfog-gt-8k.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 * Device Tree file for SolidRun's ClearFog GT 8K 9 #include "armada-8040.dtsi" 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/gpio/gpio.h> 16 compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040", 17 "marvell,armada-ap806-quad", "marvell,armada-ap806"; 20 stdout-path = "serial0:115200n8"; 35 compatible = "pwm-fan"; 37 cooling-levels = <0 51 102 153 204 255>; [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/amlogic/ |
D | meson-g12b.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12.dtsi" 13 #address-cells = <0x2>; 14 #size-cells = <0x0>; 16 cpu-map { 48 compatible = "arm,cortex-a53"; 50 enable-method = "psci"; 51 capacity-dmips-mhz = <592>; 52 next-level-cache = <&l2>; 53 #cooling-cells = <2>; [all …]
|
/Linux-v6.1/drivers/gpu/drm/panfrost/ |
D | panfrost_devfreq.c | 1 // SPDX-License-Identifier: GPL-2.0 18 last = pfdevfreq->time_last_update; in panfrost_devfreq_update_utilization() 20 if (pfdevfreq->busy_count > 0) in panfrost_devfreq_update_utilization() 21 pfdevfreq->busy_time += ktime_sub(now, last); in panfrost_devfreq_update_utilization() 23 pfdevfreq->idle_time += ktime_sub(now, last); in panfrost_devfreq_update_utilization() 25 pfdevfreq->time_last_update = now; in panfrost_devfreq_update_utilization() 28 static int panfrost_devfreq_target(struct device *dev, unsigned long *freq, in panfrost_devfreq_target() 43 pfdevfreq->busy_time = 0; in panfrost_devfreq_reset() 44 pfdevfreq->idle_time = 0; in panfrost_devfreq_reset() 45 pfdevfreq->time_last_update = ktime_get(); in panfrost_devfreq_reset() [all …]
|
/Linux-v6.1/Documentation/hwmon/ |
D | mlxreg-fan.rst | 1 Kernel driver mlxreg-fan 6 - QMB700, equipped with 40x200GbE InfiniBand ports; 7 - MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports; 8 - MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports; 9 - MSN3800, equipped with 64x1000GbE Ethernet ports; 14 board with Mellanox Quantum or Spectrume-2 devices. 15 FAN controller is implemented by the programmable device logic. 17 The default registers offsets set within the programmable device is as 36 This setup can be re-programmed with other registers. 39 ----------- [all …]
|