summaryrefslogtreecommitdiff
path: root/Documentation/driver-api/thermal/x86_pkg_temperature_thermal.rst
blob: 2ac42ccd236f6b384c26a8fbe5ccc08e9e1b4000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
===================================
Kernel driver: x86_pkg_temp_thermal
===================================

Supported chips:

* x86: with package level thermal management

(Verify using: CPUID.06H:EAX[bit 6] =1)

Authors: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

Reference
---------

Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT

Description
-----------

This driver register CPU digital temperature package level sensor as a thermal
zone with maximum two user mode configurable trip points. Number of trip points
depends on the capability of the package. Once the trip point is violated,
user mode can receive notification via thermal notification mechanism and can
take any action to control temperature.


Threshold management
--------------------
Each package will register as a thermal zone under /sys/class/thermal.

Example::

	/sys/class/thermal/thermal_zone1

This contains two trip points:

- trip_point_0_temp
- trip_point_1_temp

User can set any temperature between 0 to TJ-Max temperature. Temperature units
are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
thermal sys-fs details.

Any value other than 0 in these trip points, can trigger thermal notifications.
Setting 0, stops sending thermal notifications.

Thermal notifications:
To get kobject-uevent notifications, set the thermal zone
policy to "user_space".

For example::

	echo -n "user_space" > policy