Queued up within the Linux power management subsystem’s “linux-next” branch is enabling support for the Intel Platform Temperature Control Interface.
The Platform Temperature Control Interface is set to be enabled for the Intel int340x thermal driver with the upcoming Linux 6.16 merge window.
The patches from Intel engineer Srinivas Pandruvada describe the Platform Temperature Control Interface as:
“Platform Temperature Control is a dynamic control loop implemented in hardware to manage the skin or any board temperature of a device. The reported skin or board temperature is controlled by comparing to a configured target temperature and adjusting the SoC (System on Chip) performance accordingly.”
With these pending patches for the mainline Linux kernel, the Platform Temperature Control (PTC) controls are exposed via the sysfs /sys/bus/pci/devices/0000:00:04.0/ptc_*_control attributes for up to three controls. Each PTC control can be enabled/disabled as well as writing a “temperature_target” value as the milli-degree Celsius value to use for the hardware for the temperature control.
As explained a few months back in Intel Preps Linux For “Platform Temperature Control” With Lunar Lake & Panther Lake SoCs:
OEMs can configure the Platform Temperature Control (PTC) thresholds via the BIOS/firmware and the temperatures are supplied via the Platform Environment Control Interface (PECI). PTC can work without the involvement of the operating system but the newly-posted Linux patches are being done to allow tuning it.
On the basis that some OEMs may set too aggressive of a temperature target limit, the Intel PTC Linux patches allow manipulating the target limits so you aren’t cutting back the power/performance too much. These Linux patches also allow confirming that the firmware support is in place and enabled.
Linux user-space software will be responsible for writing the desired temperature target values and the like. We’ll see with time if this ends up being readily exposed/controlled by the prominent Linux desktops or if it just gets tuned by the likes of Intel Thermald. In any event you can look for this Platform Temperature Control support coming to the Intel int340x thermal driver with Linux 6.16.