]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
hwmon: (corsair-psu) Fix fan rpm calculation
authorWilken Gottwalt <wilken.gottwalt@posteo.net>
Fri, 13 Nov 2020 12:19:54 +0000 (13:19 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 3 Dec 2020 01:42:23 +0000 (17:42 -0800)
The correct fan rpm value is also a LINEAR11 value but without a factor.
Verified by using the fan test button on the psu to let the fan spin up
to maximum for some seconds.

Fixes: 933222c98445 ("hwmon: (corsair-psu) fix unintentional sign extension issue")
Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
Link: https://lore.kernel.org/r/20201113121954.GA8488@monster.powergraphx.local
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/corsair-psu.c

index 5d19a888231af854fbd53f69732c33837b12fcbe..99494056f4bd9ff9f8a2be669b043674b02fde28 100644 (file)
@@ -252,12 +252,7 @@ static int corsairpsu_get_value(struct corsairpsu_data *priv, u8 cmd, u8 rail, l
                *val = corsairpsu_linear11_to_int(tmp & 0xFFFF) * 1000;
                break;
        case PSU_CMD_FAN:
-               /*
-                * this value is best guess, so the calculated value could be wrong, it is hard
-                * to ge the fan to spin in these semi-passive power supplies, which need a
-                * quite high load to do so
-                */
-               *val = ((tmp & 0xFF) << 8) + ((tmp >> 8) & 0xFF);
+               *val = corsairpsu_linear11_to_int(tmp & 0xFFFF);
                break;
        case PSU_CMD_RAIL_WATTS:
        case PSU_CMD_TOTAL_WATTS: