xref: /freebsd/share/man/man4/acpi_thermal.4 (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
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.\" $FreeBSD$
26.\"
27.Dd November 21, 2022
28.Dt ACPI_THERMAL 4
29.Os
30.Sh NAME
31.Nm acpi_thermal
32.Nd ACPI thermal management subsystem
33.Sh SYNOPSIS
34.Cd "device acpi"
35.Sh DESCRIPTION
36The
37.Nm
38driver provides the thermal management features of the ACPI module.
39This driver has a
40.Xr sysctl 8
41interface and a
42.Xr devd 8
43notification interface.
44The sysctls export properties of each ACPI thermal zone object.
45.Pp
46There can be multiple thermal zones in a system.
47For example, each CPU and the enclosure could all be separate thermal
48zones, each with its own setpoints and cooling devices.
49Thermal zones are numbered sequentially in the order they appear in
50the AML.
51.Pp
52The
53.Nm
54driver also activates the active cooling system according to
55each thermal zone's setpoints.
56.Sh SYSCTL VARIABLES
57.Bl -tag -width indent
58.It Va hw.acpi.thermal.min_runtime
59Number of seconds to continue active cooling once started.
60A new active cooling level will not be selected until this interval expires.
61.It Va hw.acpi.thermal.polling_rate
62Number of seconds between polling the current temperature.
63.It Va hw.acpi.thermal.user_override
64If set to 1, allow user override of various setpoints (below).
65The original values for these settings are obtained from the BIOS and
66system overheating and possible damage could occur if changed.
67Default is 0 (no override).
68.It Va hw.acpi.thermal.tz%d.active
69Current active cooling system state.
70If this is non-negative, the appropriate _AC%d object is running.
71Set this value to the desired active cooling level to force
72the corresponding fan object to the appropriate level.
73.It Va hw.acpi.thermal.tz%d.passive_cooling
74If set to 1, passive cooling is enabled.
75It does cooling without fans using
76.Xr cpufreq 4
77as the mechanism for controlling CPU speed.
78Default is enabled for tz0 where it is available.
79.It Va hw.acpi.thermal.tz%d.thermal_flags
80Current thermal zone status.
81These are bit-masked values.
82.It Va hw.acpi.thermal.tz%d.temperature
83Current temperature for this zone.
84.It Va hw.acpi.thermal.tz%d._PSV
85Temperature to start passive cooling by throttling down CPU, etc.
86This value can be overridden by the user.
87.It Va hw.acpi.thermal.tz%d._CR3
88Temperature to start critical suspend to RAM (S3).
89This value can be overridden by the user.
90.It Va hw.acpi.thermal.tz%d._HOT
91Temperature to start critical suspend to disk (S4).
92This value can be overridden by the user.
93.It Va hw.acpi.thermal.tz%d._CRT
94Temperature to start critical shutdown (S5).
95This value can be overridden by the user.
96.It Va hw.acpi.thermal.tz%d._ACx
97Temperatures at which to switch to the corresponding active cooling
98level.
99The lower the _ACx value, the higher the cooling power.
100.El
101.Pp
102All temperatures are printed in Celsius.
103Values can be set in Celsius (by providing a trailing
104.Qq C )
105or Kelvin (by leaving off any trailing letter).
106When setting a value by
107.Xr sysctl 8 ,
108do not specify a trailing decimal (i.e., 90C instead of 90.0C).
109.Sh NOTIFIES
110Notifies are passed to userland via
111.Xr devd 8 .
112See
113.Pa /etc/devd.conf
114and
115.Xr devd.conf 5
116for examples.
117The
118.Nm
119driver sends events with the following attributes:
120.Pp
121.Bl -tag -width "subsystem" -compact
122.It system
123.Li ACPI
124.It subsystem
125.Li Thermal
126.It type
127The fully qualified thermal zone object path as in the ASL.
128.It notify
129An integer designating the event:
130.Pp
131.Bl -tag -width indent -compact
132.It Li 0x80
133Current temperature has changed.
134.It Li 0x81
135One or more trip points (_ACx, _PSV) have changed.
136.It Li 0x82
137One or more device lists (_ALx, _PSL, _TZD) have changed.
138.It Li 0xcc
139Non-standard notify that the system will shutdown if the temperature
140stays above _CRT or _HOT for one more poll cycle.
141.El
142.El
143.Sh SEE ALSO
144.Xr acpi 4 ,
145.Xr cpufreq 4 ,
146.Xr acpidump 8
147.Sh AUTHORS
148.An -nosplit
149.An Michael Smith
150.Pp
151This manual page was written by
152.An Takanori Watanabe .
153