Re: [PATCH] i8k: increase fan limit to 3

From: Guenter Roeck
Date: Wed May 21 2014 - 23:32:40 EST


On 05/21/2014 07:19 PM, Flavio Leitner wrote:
From: Flavio Leitner <fbl@xxxxxxxxxxxx>

It is possible to increase left fan speed on a
DELL Precision 490n system up to 3.

value fan rpm
1 35460
2 64740
3 78510

Guess the speed factor 30 doesn't apply here.

Signed-off-by: Flavio Leitner <fbl@xxxxxxxxxxxx>
---
drivers/char/i8k.c | 4 ++--
include/uapi/linux/i8k.h | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
index d915707..99180f0 100644
--- a/drivers/char/i8k.c
+++ b/drivers/char/i8k.c
@@ -519,7 +519,7 @@ static ssize_t i8k_hwmon_show_pwm(struct device *dev,
status = i8k_get_fan_status(index);
if (status < 0)
return -EIO;
- return sprintf(buf, "%d\n", clamp_val(status * 128, 0, 255));
+ return sprintf(buf, "%d\n", clamp_val(status * 128, 0, 384));
}

static ssize_t i8k_hwmon_set_pwm(struct device *dev,
@@ -533,7 +533,7 @@ static ssize_t i8k_hwmon_set_pwm(struct device *dev,
err = kstrtoul(buf, 10, &val);
if (err)
return err;
- val = clamp_val(DIV_ROUND_CLOSEST(val, 128), 0, 2);
+ val = clamp_val(DIV_ROUND_CLOSEST(val, 128), 0, 3);

mutex_lock(&i8k_mutex);
err = i8k_set_fan(index, val);
diff --git a/include/uapi/linux/i8k.h b/include/uapi/linux/i8k.h
index 1c45ba5..133d02f 100644
--- a/include/uapi/linux/i8k.h
+++ b/include/uapi/linux/i8k.h
@@ -34,7 +34,8 @@
#define I8K_FAN_OFF 0
#define I8K_FAN_LOW 1
#define I8K_FAN_HIGH 2
-#define I8K_FAN_MAX I8K_FAN_HIGH
+#define I8K_FAN_TURBO 3
+#define I8K_FAN_MAX I8K_FAN_TURBO

#define I8K_VOL_UP 1
#define I8K_VOL_DOWN 2


I'll have to test this on older systems to make sure it doesn't cause problems there.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/