| 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/thermal/sysfs-api.txt" 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 |
| |
| |
| |
| |