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