linux/Documentation/admin-guide/acpi
Srinivas Pandruvada d19e470b66 ACPI: fan: Expose fan performance state information
When _FPS indicates variable speed fan support, the thermal cooling
device for fan shows max performance state count as "max_state"
(greater than or equal to 1).

But the thermal cooling device doesn't expose the properties of each
performance state. This is not enough for smart fan control user
space software, which also considers speed, power and noise level.

This change exposes the properties of the fan performance states
in the sysfs directory of the ACPI device representing the fan,
that is

/sys/bus/acpi/devices/devices/INT3404:00

or

/sys/bus/platform/devices/PNP0C0B:00.

For example:

$ ls /sys/bus/acpi/devices/INT3404\:00
description  path           state0   state11  state4  state7  status
hid          physical_node  state1   state2   state5  state8  subsystem
modalias     power          state10  state3   state6  state9  uevent
uid          wakeup

where each state* attribute lists the properties of a fan performance
state in the following format:

control_percent:trip_point:speed_rpm:noise_level_mdb:power_mw

$ cat /sys/bus/acpi/devices/INT3404\:00/state10
95:0:11600:47500:4500

as documented in

Documentation/admin-guide/acpi/fan_performance_states.rst

While at it, return the correct error code from acpi_fan_probe()
when acpi_fan_get_fps() or acpi_fan_get_fif() fails.

Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
[ rjw: Subject, changelog, documentation ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2019-12-19 22:35:04 +01:00
..
cppc_sysfs.rst Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi and convert to reST 2019-04-25 23:07:20 +02:00
dsdt-override.rst Documentation: ACPI: move dsdt-override.txt to admin-guide/acpi and convert to reST 2019-04-25 23:07:20 +02:00
fan_performance_states.rst ACPI: fan: Expose fan performance state information 2019-12-19 22:35:04 +01:00
index.rst ACPI: fan: Expose fan performance state information 2019-12-19 22:35:04 +01:00
initrd_table_override.rst
ssdt-overlays.rst Documentation: ACPI: move ssdt-overlays.txt to admin-guide/acpi and convert to reST 2019-04-25 23:07:20 +02:00