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