Home
last modified time | relevance | path

Searched +full:thermal +full:- +full:zone (Results 1 – 25 of 153) sorted by relevance

1234567

/linux-6.12.1/Documentation/driver-api/thermal/
Dsysfs-api.rst2 Generic Thermal Sysfs driver How To
13 The generic thermal sysfs provides a set of interfaces for thermal zone
14 devices (sensors) and thermal cooling devices (fan, processor...) to register
15 with the thermal management solution and to be a part of it.
17 This how-to focuses on enabling new thermal zone and cooling devices to
18 participate in thermal management.
19 This solution is platform independent and any type of thermal zone devices
22 The main task of the thermal sysfs driver is to expose thermal zone attributes
24 An intelligent thermal management application can make decisions based on
25 inputs from thermal zone attributes (the current temperature and trip point
[all …]
Dpower_allocator.rst6 -----------
12 point of the thermal zone.
17 thermal zone.
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 |------+
[all …]
Dx86_pkg_temperature_thermal.rst7 * x86: with package level thermal management
14 ---------
16 Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
17 Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
20 -----------
22 This driver register CPU digital temperature package level sensor as a thermal
23 zone with maximum two user mode configurable trip points. Number of trip points
25 user mode can receive notification via thermal notification mechanism and can
30 --------------------
31 Each package will register as a thermal zone under /sys/class/thermal.
[all …]
/linux-6.12.1/drivers/thermal/testing/
Dcommand.c1 // SPDX-License-Identifier: GPL-2.0
7 * Thermal subsystem testing facility.
9 * This facility allows the thermal core functionality to be exercised in a
12 * It resides in the "thermal-testing" directory under the debugfs root and
14 * representing a thermal testing facility command.
18 * The "addtz" command causes a new test thermal zone template to be created,
21 * # echo addtz > /sys/kernel/debug/thermal-testing/command
23 * That template will be represented as a subdirectory in the "thermal-testing"
26 * # ls /sys/kernel/debug/thermal-testing/
29 * The thermal zone template can be populated with trip points with the help of
[all …]
Dzone.c1 // SPDX-License-Identifier: GPL-2.0
7 * Thermal zone tempalates handling for thermal core testing.
10 #define pr_fmt(fmt) "thermal-testing: " fmt
15 #include <linux/thermal.h>
23 * struct tt_thermal_zone - Testing thermal zone template
25 * Represents a template of a thermal zone that can be used for registering
26 * a test thermal zone with the thermal core.
28 * @list_node: Node in the list of all testing thermal zone templates.
29 * @trips: List of trip point templates for this thermal zone template.
31 * @tz: Test thermal zone based on this template, if present.
[all …]
/linux-6.12.1/Documentation/ABI/testing/
Dsysfs-class-thermal1 What: /sys/class/thermal/thermal_zoneX/type
3 Strings which represent the thermal zone type.
4 This is given by thermal zone driver as part of registration.
5 E.g: "acpitz" indicates it's an ACPI thermal device.
12 What: /sys/class/thermal/thermal_zoneX/temp
14 Current temperature as reported by thermal zone (sensor).
20 What: /sys/class/thermal/thermal_zoneX/mode
24 currently managing the thermal zone. It can be either default
28 enable Kernel Thermal management.
30 Preventing kernel thermal zone driver actions upon
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/thermal/
Dthermal-zones.yaml1 # 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#
8 title: Thermal zone
11 - Daniel Lezcano <daniel.lezcano@linaro.org>
14 Thermal management is achieved in devicetree by describing the sensor hardware
15 and the software abstraction of cooling devices and thermal zones required to
16 take appropriate action to mitigate thermal overloads.
18 The following node types are used to completely describe a thermal management
[all …]
Drcar-thermal.yaml1 # SPDX-License-Identifier: GPL-2.0-only
4 ---
5 $id: http://devicetree.org/schemas/thermal/rcar-thermal.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: Renesas R-Car Thermal
11 - Niklas Söderlund <niklas.soderlund@ragnatech.se>
16 - items:
17 - enum:
18 - renesas,thermal-r8a73a4 # R-Mobile APE6
19 - renesas,thermal-r8a7779 # R-Car H1
[all …]
/linux-6.12.1/drivers/thermal/
Dthermal_core.h1 /* SPDX-License-Identifier: GPL-2.0 */
13 #include <linux/thermal.h>
38 * struct thermal_governor - structure that holds thermal governor information
40 * @bind_to_tz: callback called when binding to a thermal zone. If it
41 * returns 0, the governor is bound to the thermal zone,
44 * thermal zone.
46 * @manage: called on thermal zone temperature updates
47 * @update_tz: callback called when thermal zone internals have changed, e.g.
48 * thermal cooling instance was added/removed
65 * struct thermal_zone_device - structure for a thermal zone
[all …]
Dda9062-thermal.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Thermal device driver for DA9062 and DA9061
7 /* When over-temperature is reached, an interrupt from the device will be
11 * implementation of the thermal driver will include a .notify() function
14 * These uevents are intended to indicate non-invasive temperature control
17 * the IRQ is re-enabled so the start of a new over-temperature event can
27 #include <linux/thermal.h>
53 struct thermal_zone_device *zone; member
63 struct da9062_thermal *thermal = container_of(work, in da9062_thermal_poll_on() local
71 ret = regmap_write(thermal->hw->regmap, in da9062_thermal_poll_on()
[all …]
Dthermal_core.c1 // SPDX-License-Identifier: GPL-2.0
3 * thermal.c - Generic Thermal Management Sysfs support.
19 #include <linux/thermal.h>
44 * Governor section: set of functions to handle thermal governors
46 * Functions to help in the life cycle of thermal governors within
47 * the thermal core and by the thermal governor code.
58 if (!strncasecmp(name, pos->name, THERMAL_NAME_LENGTH)) in __find_governor()
65 * bind_previous_governor() - bind the previous governor of the thermal zone
69 * Register the previous governor of the thermal zone after a new
75 if (tz->governor && tz->governor->bind_to_tz) { in bind_previous_governor()
[all …]
Dthermal_of.c1 // SPDX-License-Identifier: GPL-2.0
3 * of-thermal.c - Generic Thermal Management device tree support.
15 #include <linux/thermal.h>
24 * It maps 'enum thermal_trip_type' found in include/linux/thermal.h
35 * thermal_of_get_trip_type - Get phy mode for given device_node
60 return -ENODEV; in thermal_of_get_trip_type()
74 trip->temperature = prop; in thermal_of_populate_trip()
81 trip->hysteresis = prop; in thermal_of_populate_trip()
83 ret = thermal_of_get_trip_type(np, &trip->type); in thermal_of_populate_trip()
89 trip->flags = THERMAL_TRIP_FLAG_RW_TEMP; in thermal_of_populate_trip()
[all …]
Dgov_power_allocator.c1 // SPDX-License-Identifier: GPL-2.0
12 #include <linux/thermal.h>
24 * mul_frac() - multiply two fixed-point numbers
28 * Return: the result of multiplying two fixed-point numbers. The
29 * result is also a fixed-point number.
37 * div_frac() - divide two fixed-point numbers
41 * Return: the result of dividing two fixed-point numbers. The
42 * result is also a fixed-point number.
50 * struct power_actor - internal power information for power actor
66 * struct power_allocator_params - parameters for the power allocator governor
[all …]
Dthermal_helpers.c1 // SPDX-License-Identifier: GPL-2.0
3 * thermal_helpers.c - helper functions to handle thermal devices
29 if (tz->emul_temperature || !tz->ops.get_trend || in get_tz_trend()
30 tz->ops.get_trend(tz, trip, &trend)) { in get_tz_trend()
31 if (tz->temperature > tz->last_temperature) in get_tz_trend()
33 else if (tz->temperature < tz->last_temperature) in get_tz_trend()
48 list_for_each_entry(ti, &tz->thermal_instances, tz_node) { in thermal_instance_present()
49 if (ti->trip == trip && ti->cdev == cdev) in thermal_instance_present()
62 mutex_lock(&tz->lock); in thermal_trip_is_bound_to_cdev()
63 mutex_lock(&cdev->lock); in thermal_trip_is_bound_to_cdev()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 # Generic thermal drivers configuration
6 menuconfig THERMAL config
7 bool "Thermal drivers"
9 Thermal drivers offer a generic mechanism for
10 thermal management. Usually it's made up of one or more thermal
12 Each thermal zone contains its own temperature, trip points,
14 All platforms with ACPI or Open Firmware thermal support can use
18 if THERMAL
21 bool "Thermal netlink management"
[all …]
/linux-6.12.1/include/uapi/linux/
Dthermal.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
20 #define THERMAL_GENL_FAMILY_NAME "thermal"
53 #define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
59 #define THERMAL_GENL_SAMPLING_MAX (__THERMAL_GENL_SAMPLING_MAX - 1)
64 THERMAL_GENL_EVENT_TZ_CREATE, /* Thermal zone creation */
65 THERMAL_GENL_EVENT_TZ_DELETE, /* Thermal zone deletion */
66 THERMAL_GENL_EVENT_TZ_DISABLE, /* Thermal zone disabled */
67 THERMAL_GENL_EVENT_TZ_ENABLE, /* Thermal zone enabled */
73 THERMAL_GENL_EVENT_CDEV_ADD, /* Cdev bound to the thermal zone */
80 #define THERMAL_GENL_EVENT_MAX (__THERMAL_GENL_EVENT_MAX - 1)
[all …]
/linux-6.12.1/tools/thermal/tmon/
Dtmon.82 # SPDX-License-Identifier: GPL-2.0
4 \fBtmon\fP - A monitoring and testing tool for Linux kernel thermal subsystem
12 \fBtmon \fP can be used to visualize thermal relationship and
13 real-time thermal data; tune
14 and test cooling devices and sensors; collect thermal data for offline
21 1. Thermal relationships:
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
[all …]
/linux-6.12.1/drivers/thermal/intel/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
11 enforce idle time which results in more package C-state residency. The
12 user interface is exposed via generic thermal framework.
23 tristate "X86 package temperature thermal driver"
30 thermal zone. Each package will have its own thermal zone. There are
31 two trip points which can be set by user to get notifications via thermal
46 tristate "Intel SoCs DTS thermal driver"
53 thermal zone. There are two trip points. One of the trip point can
54 be set by user mode programs to get notifications via Linux thermal
59 tristate "Intel Quark DTS thermal driver"
[all …]
/linux-6.12.1/tools/thermal/thermometer/
Dthermometer.82 # SPDX-License-Identifier: GPL-2.0
4 \fBthermometer\fP - A thermal profiling tool
13 \fBthermometer \fP captures the thermal zones temperature at a
21 If no configuration file is specified, then all the thermal zones will
23 the thermal zone names and the desired sampling period. A thermal zone
24 name can be a regular expression to specify a group of thermal zone.
26 The sampling of the different thermal zones will be written into
27 separate files with the thermal zone name. It is possible to specify a
31 Without any parameters, \fBthermometer \fP captures all the thermal
32 zone temperatures every 250ms and write to the current directory the
[all …]
/linux-6.12.1/drivers/acpi/
Dthermal_lib.c1 // SPDX-License-Identifier: GPL-2.0
11 #include <linux/thermal.h>
15 * Minimum temperature for full military grade is 218°K (-55°C) and
30 status = acpi_evaluate_integer(adev->handle, obj_name, NULL, &temp); in acpi_trip_temp()
32 acpi_handle_debug(adev->handle, "%s evaluation failed\n", obj_name); in acpi_trip_temp()
33 return -ENODATA; in acpi_trip_temp()
39 acpi_handle_debug(adev->handle, "%s result %llu out of range\n", in acpi_trip_temp()
52 return -EINVAL; in acpi_active_trip_temp()
90 * thermal_acpi_active_trip_temp - Retrieve active trip point temperature
91 * @adev: Target thermal zone ACPI device object.
[all …]
/linux-6.12.1/drivers/thermal/qcom/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 This enables the thermal sysfs driver for the TSENS device. It shows
8 up in Sysfs as a thermal zone with multiple trip points. Disabling the
9 thermal zone device via the mode file results in disabling the sensor.
14 tristate "Qualcomm SPMI PMIC Thermal Monitor ADC5"
19 This enables the thermal driver for the ADC thermal monitoring
20 device. It shows up as a thermal zone with multiple trip points.
21 Thermal client sets threshold temperature for both warm and cool and
29 This enables a thermal sysfs driver for Qualcomm plug-and-play (QPNP)
30 PMIC devices. It shows up in sysfs as a thermal sensor with multiple
[all …]
/linux-6.12.1/tools/thermal/thermal-engine/
Dthermal-engine.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Thermal monitoring tool based on the thermal netlink events.
26 #include <thermal.h>
27 #include "thermal-tools.h"
44 tt->id, tt->type, tt->temp, tt->hyst); in show_trip()
53 INFO("temperature: %d\n", tz->temp); in show_temp()
62 INFO("governor: '%s'\n", tz->governor); in show_governor()
69 INFO("thermal zone '%s', id=%d\n", tz->name, tz->id); in show_tz()
71 for_each_thermal_trip(tz->trip, show_trip, NULL); in show_tz()
82 INFO("Thermal zone '%s'/%d created\n", name, tz_id); in tz_create()
[all …]
/linux-6.12.1/drivers/thermal/renesas/
Drcar_thermal.c1 // SPDX-License-Identifier: GPL-2.0
3 * R-Car THS/TSC thermal sensor driver
20 #include <linux/thermal.h>
92 struct thermal_zone_device *zone; member
101 list_for_each_entry(pos, &common->head, list)
104 #define rcar_priv_to_dev(priv) ((priv)->common->dev)
105 #define rcar_has_irq_support(priv) ((priv)->common->base)
106 #define rcar_id_to_shift(priv) ((priv)->id * 8)
110 .compatible = "renesas,rcar-thermal",
114 .compatible = "renesas,rcar-gen2-thermal",
[all …]
Drcar_gen3_thermal.c1 // SPDX-License-Identifier: GPL-2.0
3 * R-Car Gen3 THS thermal sensor driver
17 #include <linux/thermal.h>
85 struct thermal_zone_device *zone; member
106 return ioread32(tsc->base + reg); in rcar_gen3_thermal_read()
112 iowrite32(data, tsc->base + reg); in rcar_gen3_thermal_write()
118 * [temp] = ((thadj - [reg]) * a) / b + adj
119 * [reg] = thadj - ([temp] - adj) * b / a
140 priv->tj_t = in rcar_gen3_thermal_shared_coefs()
141 DIV_ROUND_CLOSEST((priv->ptat[1] - priv->ptat[2]) * priv->info->scale, in rcar_gen3_thermal_shared_coefs()
[all …]
/linux-6.12.1/drivers/thermal/tegra/
Dtegra-bpmp-thermal.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2015-2017, NVIDIA CORPORATION. All rights reserved.
13 #include <linux/thermal.h>
17 #include <soc/tegra/bpmp-abi.h>
33 static int __tegra_bpmp_thermal_get_temp(struct tegra_bpmp_thermal_zone *zone, in __tegra_bpmp_thermal_get_temp() argument
43 req.get_temp.zone = zone->idx; in __tegra_bpmp_thermal_get_temp()
52 err = tegra_bpmp_transfer(zone->tegra->bpmp, &msg); in __tegra_bpmp_thermal_get_temp()
55 if (msg.rx.ret == -BPMP_EFAULT) in __tegra_bpmp_thermal_get_temp()
56 return -EAGAIN; in __tegra_bpmp_thermal_get_temp()
58 return -EINVAL; in __tegra_bpmp_thermal_get_temp()
[all …]

1234567