0001 ===================================
0002 Kernel driver: x86_pkg_temp_thermal
0003 ===================================
0004
0005 Supported chips:
0006
0007 * x86: with package level thermal management
0008
0009 (Verify using: CPUID.06H:EAX[bit 6] =1)
0010
0011 Authors: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
0012
0013 Reference
0014 ---------
0015
0016 Intel® 64 and IA-32 Architectures Software Developer’s Manual (Jan, 2013):
0017 Chapter 14.6: PACKAGE LEVEL THERMAL MANAGEMENT
0018
0019 Description
0020 -----------
0021
0022 This driver register CPU digital temperature package level sensor as a thermal
0023 zone with maximum two user mode configurable trip points. Number of trip points
0024 depends on the capability of the package. Once the trip point is violated,
0025 user mode can receive notification via thermal notification mechanism and can
0026 take any action to control temperature.
0027
0028
0029 Threshold management
0030 --------------------
0031 Each package will register as a thermal zone under /sys/class/thermal.
0032
0033 Example::
0034
0035 /sys/class/thermal/thermal_zone1
0036
0037 This contains two trip points:
0038
0039 - trip_point_0_temp
0040 - trip_point_1_temp
0041
0042 User can set any temperature between 0 to TJ-Max temperature. Temperature units
0043 are in milli-degree Celsius. Refer to "Documentation/driver-api/thermal/sysfs-api.rst" for
0044 thermal sys-fs details.
0045
0046 Any value other than 0 in these trip points, can trigger thermal notifications.
0047 Setting 0, stops sending thermal notifications.
0048
0049 Thermal notifications:
0050 To get kobject-uevent notifications, set the thermal zone
0051 policy to "user_space".
0052
0053 For example::
0054
0055 echo -n "user_space" > policy