Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / Documentation / admin-guide / acpi / fan_performance_states.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ===========================
4 ACPI Fan Performance States
5 ===========================
6
7 When the optional _FPS object is present under an ACPI device representing a
8 fan (for example, PNP0C0B or INT3404), the ACPI fan driver creates additional
9 "state*" attributes in the sysfs directory of the ACPI device in question.
10 These attributes list properties of fan performance states.
11
12 For more information on _FPS refer to the ACPI specification at:
13
14 http://uefi.org/specifications
15
16 For instance, the contents of the INT3404 ACPI device sysfs directory
17 may look as follows::
18
19  $ ls -l /sys/bus/acpi/devices/INT3404:00/
20  total 0
21  ...
22  -r--r--r-- 1 root root 4096 Dec 13 20:38 state0
23  -r--r--r-- 1 root root 4096 Dec 13 20:38 state1
24  -r--r--r-- 1 root root 4096 Dec 13 20:38 state10
25  -r--r--r-- 1 root root 4096 Dec 13 20:38 state11
26  -r--r--r-- 1 root root 4096 Dec 13 20:38 state2
27  -r--r--r-- 1 root root 4096 Dec 13 20:38 state3
28  -r--r--r-- 1 root root 4096 Dec 13 20:38 state4
29  -r--r--r-- 1 root root 4096 Dec 13 20:38 state5
30  -r--r--r-- 1 root root 4096 Dec 13 20:38 state6
31  -r--r--r-- 1 root root 4096 Dec 13 20:38 state7
32  -r--r--r-- 1 root root 4096 Dec 13 20:38 state8
33  -r--r--r-- 1 root root 4096 Dec 13 20:38 state9
34  -r--r--r-- 1 root root 4096 Dec 13 01:00 status
35  ...
36
37 where each of the "state*" files represents one performance state of the fan
38 and contains a colon-separated list of 5 integer numbers (fields) with the
39 following interpretation::
40
41   control_percent:trip_point_index:speed_rpm:noise_level_mdb:power_mw
42
43 * ``control_percent``: The percent value to be used to set the fan speed to a
44   specific level using the _FSL object (0-100).
45
46 * ``trip_point_index``: The active cooling trip point number that corresponds
47   to this performance state (0-9).
48
49 * ``speed_rpm``: Speed of the fan in rotations per minute.
50
51 * ``noise_level_mdb``: Audible noise emitted by the fan in this state in
52   millidecibels.
53
54 * ``power_mw``: Power draw of the fan in this state in milliwatts.
55
56 For example::
57
58  $cat /sys/bus/acpi/devices/INT3404:00/state1
59  25:0:3200:12500:1250
60
61 When a given field is not populated or its value provided by the platform
62 firmware is invalid, the "not-defined" string is shown instead of the value.