xref: /freebsd/share/man/man4/acpi_thermal.4 (revision 315ee00f)
1.\" Copyright (c) 2003 Takanori Watanabe.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd November 21, 2022
26.Dt ACPI_THERMAL 4
27.Os
28.Sh NAME
29.Nm acpi_thermal
30.Nd ACPI thermal management subsystem
31.Sh SYNOPSIS
32.Cd "device acpi"
33.Sh DESCRIPTION
34The
35.Nm
36driver provides the thermal management features of the ACPI module.
37This driver has a
38.Xr sysctl 8
39interface and a
40.Xr devd 8
41notification interface.
42The sysctls export properties of each ACPI thermal zone object.
43.Pp
44There can be multiple thermal zones in a system.
45For example, each CPU and the enclosure could all be separate thermal
46zones, each with its own setpoints and cooling devices.
47Thermal zones are numbered sequentially in the order they appear in
48the AML.
49.Pp
50The
51.Nm
52driver also activates the active cooling system according to
53each thermal zone's setpoints.
54.Sh SYSCTL VARIABLES
55.Bl -tag -width indent
56.It Va hw.acpi.thermal.min_runtime
57Number of seconds to continue active cooling once started.
58A new active cooling level will not be selected until this interval expires.
59.It Va hw.acpi.thermal.polling_rate
60Number of seconds between polling the current temperature.
61.It Va hw.acpi.thermal.user_override
62If set to 1, allow user override of various setpoints (below).
63The original values for these settings are obtained from the BIOS and
64system overheating and possible damage could occur if changed.
65Default is 0 (no override).
66.It Va hw.acpi.thermal.tz%d.active
67Current active cooling system state.
68If this is non-negative, the appropriate _AC%d object is running.
69Set this value to the desired active cooling level to force
70the corresponding fan object to the appropriate level.
71.It Va hw.acpi.thermal.tz%d.passive_cooling
72If set to 1, passive cooling is enabled.
73It does cooling without fans using
74.Xr cpufreq 4
75as the mechanism for controlling CPU speed.
76Default is enabled for tz0 where it is available.
77.It Va hw.acpi.thermal.tz%d.thermal_flags
78Current thermal zone status.
79These are bit-masked values.
80.It Va hw.acpi.thermal.tz%d.temperature
81Current temperature for this zone.
82.It Va hw.acpi.thermal.tz%d._PSV
83Temperature to start passive cooling by throttling down CPU, etc.
84This value can be overridden by the user.
85.It Va hw.acpi.thermal.tz%d._CR3
86Temperature to start critical suspend to RAM (S3).
87This value can be overridden by the user.
88.It Va hw.acpi.thermal.tz%d._HOT
89Temperature to start critical suspend to disk (S4).
90This value can be overridden by the user.
91.It Va hw.acpi.thermal.tz%d._CRT
92Temperature to start critical shutdown (S5).
93This value can be overridden by the user.
94.It Va hw.acpi.thermal.tz%d._ACx
95Temperatures at which to switch to the corresponding active cooling
96level.
97The lower the _ACx value, the higher the cooling power.
98.El
99.Pp
100All temperatures are printed in Celsius.
101Values can be set in Celsius (by providing a trailing
102.Qq C )
103or Kelvin (by leaving off any trailing letter).
104When setting a value by
105.Xr sysctl 8 ,
106do not specify a trailing decimal (i.e., 90C instead of 90.0C).
107.Sh NOTIFIES
108Notifies are passed to userland via
109.Xr devd 8 .
110See
111.Pa /etc/devd.conf
112and
113.Xr devd.conf 5
114for examples.
115The
116.Nm
117driver sends events with the following attributes:
118.Pp
119.Bl -tag -width "subsystem" -compact
120.It system
121.Li ACPI
122.It subsystem
123.Li Thermal
124.It type
125The fully qualified thermal zone object path as in the ASL.
126.It notify
127An integer designating the event:
128.Pp
129.Bl -tag -width indent -compact
130.It Li 0x80
131Current temperature has changed.
132.It Li 0x81
133One or more trip points (_ACx, _PSV) have changed.
134.It Li 0x82
135One or more device lists (_ALx, _PSL, _TZD) have changed.
136.It Li 0xcc
137Non-standard notify that the system will shutdown if the temperature
138stays above _CRT or _HOT for one more poll cycle.
139.El
140.El
141.Sh SEE ALSO
142.Xr acpi 4 ,
143.Xr cpufreq 4 ,
144.Xr acpidump 8
145.Sh AUTHORS
146.An -nosplit
147.An Michael Smith
148.Pp
149This manual page was written by
150.An Takanori Watanabe .
151