Skip to content

Commit c549695

Browse files
Wer-WolfKyleGospo
authored andcommitted
[FROM-ML] platform/x86: msi-wmi-platform: Add support for fan control
Adds fan curve support for the MSI platform. These devices contain support for two fans, where they are named CPU and GPU but in the case of the Claw series just map to left and right fan. Co-developed-by: Antheas Kapenekakis <lkml@antheas.dev> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Signed-off-by: Armin Wolf <W_Armin@gmx.de>
1 parent 81fd6e8 commit c549695

2 files changed

Lines changed: 337 additions & 17 deletions

File tree

Documentation/wmi/devices/msi-wmi-platform.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,32 @@ The fan RPM readings can be calculated with the following formula:
169169

170170
If the fan speed reading is zero, then the fan RPM is zero too.
171171

172+
The subfeature ``0x01`` is used to retrieve the fan speed table for the CPU fan. The output
173+
data contains the fan speed table and two bytes with unknown data. The fan speed table
174+
consists of six 8-bit entries, each containing a fan speed value in percent.
175+
176+
The subfeature ``0x02`` is used tho retrieve the same data for the GPU fan.
177+
178+
WMI method Set_Fan()
179+
--------------------
180+
181+
The fan speed tables can be accessed using subfeature ``0x01`` (CPU fan) and subfeature ``0x02``
182+
(GPU fan). The input data has the same format as the output data of the ``Get_Fan`` WMI method.
183+
184+
WMI method Get_AP()
185+
-------------------
186+
187+
The current fan mode can be accessed using subfeature ``0x01``. The output data contains a flag
188+
byte and two bytes of unknown data. If the 7th bit inside the flag byte is cleared then all fans
189+
are operating in automatic mode, otherwise the fans operate based on the fan speed tables
190+
accessible thru the ``Get_Fan``/``Set_Fan`` WMI methods.
191+
192+
WMI method Set_AP()
193+
-------------------
194+
195+
The current fan mode can be changed using subfeature ``0x01``. The input data has the same format
196+
as the output data of the ``Get_AP`` WMI method.
197+
172198
WMI method Get_WMI()
173199
--------------------
174200

0 commit comments

Comments
 (0)