2019-06-18 21:05:28 +00:00
|
|
|
|
===================================
|
2013-05-17 23:42:03 +00:00
|
|
|
|
Kernel driver: x86_pkg_temp_thermal
|
2019-06-18 21:05:28 +00:00
|
|
|
|
===================================
|
2013-05-17 23:42:03 +00:00
|
|
|
|
|
|
|
|
|
Supported chips:
|
2019-06-18 21:05:28 +00:00
|
|
|
|
|
2013-05-17 23:42:03 +00:00
|
|
|
|
* x86: with package level thermal management
|
2019-06-18 21:05:28 +00:00
|
|
|
|
|
2013-05-17 23:42:03 +00:00
|
|
|
|
(Verify using: CPUID.06H:EAX[bit 6] =1)
|
|
|
|
|
|
|
|
|
|
Authors: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
Reference
|
2019-06-18 21:05:28 +00:00
|
|
|
|
---------
|
|
|
|
|
|
2013-05-17 23:42:03 +00:00
|
|
|
|
Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
|
|
|
|
|
Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
|
|
|
|
|
|
|
|
|
|
Description
|
2019-06-18 21:05:28 +00:00
|
|
|
|
-----------
|
2013-05-17 23:42:03 +00:00
|
|
|
|
|
|
|
|
|
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.
|
2019-06-18 21:05:28 +00:00
|
|
|
|
|
|
|
|
|
Example::
|
|
|
|
|
|
|
|
|
|
/sys/class/thermal/thermal_zone1
|
2013-05-17 23:42:03 +00:00
|
|
|
|
|
|
|
|
|
This contains two trip points:
|
2019-06-18 21:05:28 +00:00
|
|
|
|
|
2013-05-17 23:42:03 +00:00
|
|
|
|
- trip_point_0_temp
|
|
|
|
|
- trip_point_1_temp
|
|
|
|
|
|
|
|
|
|
User can set any temperature between 0 to TJ-Max temperature. Temperature units
|
2019-07-26 12:51:12 +00:00
|
|
|
|
are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
|
2013-05-17 23:42:03 +00:00
|
|
|
|
thermal sys-fs details.
|
|
|
|
|
|
|
|
|
|
Any value other than 0 in these trip points, can trigger thermal notifications.
|
|
|
|
|
Setting 0, stops sending thermal notifications.
|
|
|
|
|
|
2019-06-18 21:05:28 +00:00
|
|
|
|
Thermal notifications:
|
|
|
|
|
To get kobject-uevent notifications, set the thermal zone
|
|
|
|
|
policy to "user_space".
|
2013-05-17 23:42:03 +00:00
|
|
|
|
|
2019-06-18 21:05:28 +00:00
|
|
|
|
For example::
|
2013-05-17 23:42:03 +00:00
|
|
|
|
|
2019-06-18 21:05:28 +00:00
|
|
|
|
echo -n "user_space" > policy
|