xref: /linux/Documentation/driver-api/thermal/x86_pkg_temperature_thermal.rst (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1===================================
2Kernel driver: x86_pkg_temp_thermal
3===================================
4
5Supported chips:
6
7* x86: with package level thermal management
8
9(Verify using: CPUID.06H:EAX[bit 6] =1)
10
11Authors: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
12
13Reference
14---------
15
16Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
17Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
18
19Description
20-----------
21
22This driver register CPU digital temperature package level sensor as a thermal
23zone with maximum two user mode configurable trip points. Number of trip points
24depends on the capability of the package. Once the trip point is violated,
25user mode can receive notification via thermal notification mechanism and can
26take any action to control temperature.
27
28
29Threshold management
30--------------------
31Each package will register as a thermal zone under /sys/class/thermal.
32
33Example::
34
35	/sys/class/thermal/thermal_zone1
36
37This contains two trip points:
38
39- trip_point_0_temp
40- trip_point_1_temp
41
42User can set any temperature between 0 to TJ-Max temperature. Temperature units
43are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
44thermal sys-fs details.
45
46Any value other than 0 in these trip points, can trigger thermal notifications.
47Setting 0, stops sending thermal notifications.
48
49Thermal notifications:
50To get kobject-uevent notifications, set the thermal zone
51policy to "user_space".
52
53For example::
54
55	echo -n "user_space" > policy
56