Replies: 3 comments 8 replies
-
Kernel prefers simple algorithms so I like the number 4. Number 1 seems pretty flexible if we can dynamically create attributes without hardcoding all the 14 functions, but I'm not sure if it's worth the effort. It'll also require the msi_platform_probe() to be modified. |
Beta Was this translation helpful? Give feedback.
-
Liquidctl for
Currently unclear for me:
|
Beta Was this translation helpful? Give feedback.
-
hwmon API guide https://docs.kernel.org/hwmon/sysfs-interface.html That's what's we need pwm[1-]_auto_point[1-]_pwm / pwm[1-]_auto_point[1-]_temp / pwm[1-]_auto_point[1-]_temp_hyst
temp[1-]_auto_point[1-]_pwm / temp[1-]_auto_point[1-]_temp / temp[1-]_auto_point[1-]_temp_hyst
Other way in amdgpu driverfan_curveThe amdgpu driver provides a sysfs API for checking and adjusting the fan control curve line. Reading back the file shows you the current settings(temperature in Celsius degree and fan speed in pwm) applied to every anchor point of the curve line and their permitted ranges if changable. Writing a desired string(with the format like “anchor_point_index temperature fan_speed_in_pwm”) to the file, change the settings for the specific anchor point accordingly. When you have finished the editing, write “c” (commit) to the file to commit your changes. If you want to reset to the default value, write “r” (reset) to the file to reset them There are two fan control modes supported: auto and manual. With auto mode, PMFW handles the fan speed control(how fan speed reacts to ASIC temperature). While with manual mode, users can set their own fan curve line as what described here. Normally the ASIC is booted up with auto mode. Any settings via this interface will switch the fan control to manual mode implicitly. |
Beta Was this translation helpful? Give feedback.
-
Now that we want to implement the fan curve configuration, we need a way to expose it to userspace.
The fan curve consists of 7 fan speed parameters and 6 temperature thresholds.
I have some ideas of how to represent these settings in userspace:
Beta Was this translation helpful? Give feedback.
All reactions