ACPI_THERMAL(4)

NAME
acpi_thermal - ACPI thermal management subsystem

SYNOPSIS
device acpi

DESCRIPTION
The acpi_thermal driver provides the thermal management features of the ACPI module. This driver has a sysctl(8) interface and a devd(8) notification interface. The sysctls export properties of each ACPI thermal zone object.

There can be multiple thermal zones in a system. For example, each CPU and the enclosure could all be separate thermal zones, each with its own setpoints and cooling devices. Thermal zones are numbered sequentially in the order they appear in the AML.

The acpi_thermal driver also activates the active cooling system according to each thermal zone's setpoints.

SYSCTL VARIABLES

hw.acpi.thermal.min_runtime
    Number of seconds to continue active cooling once started. A new active cooling level will not be selected until this interval expires.

hw.acpi.thermal.polling_rate
    Number of seconds between polling the current temperature. If set to 0, temperature polling is deactivated. Use with care, strange hardware-specific issues can occur when a wrong value is set. Some systems will always report the same temperature when the polling period is too low. Also ACPI based fan control can stop working when the wrong value is set here.

hw.acpi.thermal.user_override
    If set to 1, allow user override of various setpoints (below). The original values for these settings are obtained from the BIOS and system overheating and possible damage could occur if changed. Default is 0 (no override).

hw.acpi.thermal.tz%d.active
    Current active cooling system state. If this is non-negative, the appropriate _AC%d object is running. Set this value to the desired active cooling level to force the corresponding fan object to the appropriate level.

hw.acpi.thermal.tz%d.passive_cooling
    If set to 1, passive cooling is enabled. Default is enabled for tz0 where it is available.

hw.acpi.thermal.tz%d.thermal_flags
    Current thermal zone status. These are bit-masked values.

hw.acpi.thermal.tz%d.temperature
    Current temperature for this zone.

hw.acpi.thermal.tz%d._PSV
    Temperature to start passive cooling by throttling down CPU, etc. This value can be overridden by the user.

hw.acpi.thermal.tz%d._HOT
    Temperature to start critical suspend to disk (S4). This value can be overridden by the user.

hw.acpi.thermal.tz%d._CRT
    Temperature to start critical shutdown (S5). This value can be overridden by the user.

hw.acpi.thermal.tz%d._ACx
    Temperatures at which to switch to the corresponding active cooling level. The lower the _ACx value, the higher the cooling power.

All temperatures are printed in Celsius. Values can be set in Celsius (by providing a trailing "C") or Kelvin (by leaving off any trailing letter). When setting a value by sysctl(8), do not specify a trailing decimal (i.e., 90C instead of 90.0C).

NOTIFIES
Notifies are passed to userland via devd(8). See /etc/devd.conf and devd.conf(5) for examples. The acpi_thermal driver sends events with the following attributes:

system
    ACPI
subsystem
    Thermal
type
    The fully qualified thermal zone object path as in the ASL.
notify
    An integer designating the event:

    0x80
        Current temperature has changed.
    0x81
        One or more trip points (_ACx, _PSV) have changed.
    0x82
        One or more device lists (_ALx, _PSL, _TZD) have changed.
    0xcc
        Non-standard notify that the system will shutdown if the temperature stays above _CRT or _HOT for one more poll cycle.

SEE ALSO
acpi(4), acpidump(8)

AUTHORS
-nosplit Michael Smith

This manual page was written by Takanori Watanabe.