All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH v2 01/01] hwmon: (w83627ehf) Add fan debounce
@ 2011-03-07 21:10 Ian Dobson
  2011-03-07 22:22 ` [lm-sensors] [PATCH v2 01/01] hwmon: (w83627ehf) Add fan Guenter Roeck
  0 siblings, 1 reply; 2+ messages in thread
From: Ian Dobson @ 2011-03-07 21:10 UTC (permalink / raw)
  To: lm-sensors

Hello,

Version 1
The nct6776f and nct6775f support debouncing the fan RPM signal, this can 
help improve the stability of th RPM signal for some fans (Arctic cooling 
fans for example).
This patch adds a module parameter fan_debounce, which when set to 1 enables 
debounce for all fans that the chip supports.

Version 2
Coding style changes based on comments from Guenter Roeck.
Move the register setting code to w83627ehf_probe from w83627ehf_find

Signed-off-by:  Ian Dobson <i.dobson@planet-ian.com>
----

--- w83627ehf.c.sav	2011-03-07 21:21:08.029716200 +0100
+++ w83627ehf.c	2011-03-07 21:53:21.223307000 +0100
@@ -79,6 +79,10 @@
 module_param(force_id, ushort, 0);
 MODULE_PARM_DESC(force_id, "Override the detected device ID");

+static unsigned short fan_debounce;
+module_param(fan_debounce, ushort, 0);
+MODULE_PARM_DESC(fan_debounce, "Enable debouncing for fan RPM signal");
+
 #define DRVNAME "w83627ehf"

 /*
@@ -187,6 +191,7 @@
 /* NCT6775F has its own fan divider registers */
 #define NCT6775_REG_FANDIV1		0x506
 #define NCT6775_REG_FANDIV2		0x507
+#define NCT6775_REG_FAN_DEBOUNCE	0xf0

 #define W83627EHF_REG_ALARM1		0x459
 #define W83627EHF_REG_ALARM2		0x45A
@@ -2089,6 +2094,20 @@
 		fan5pin = !(superio_inb(sio_data->sioreg, 0x24) & 0x02);
 		fan4min = fan4pin;
 	}
+
+	if (fan_debounce &&
+		(sio_data->kind = nct6775 || sio_data->kind = nct6776)) {
+		u8 tmp;
+		superio_select(sio_data->sioreg, W83627EHF_LD_HWM);
+		tmp = superio_inb(sio_data->sioreg, NCT6775_REG_FAN_DEBOUNCE);
+		if (sio_data->kind = nct6776)
+			superio_outb(sio_data->sioreg, NCT6775_REG_FAN_DEBOUNCE,
+				0x3e | tmp);
+		else
+			superio_outb(sio_data->sioreg, NCT6775_REG_FAN_DEBOUNCE,
+				0x1e | tmp);
+		pr_info("Enabled fan debounce for chip %s\n", data->name);
+	}
 	superio_exit(sio_data->sioreg);

 	/* It looks like fan4 and fan5 pins can be alternatively used


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-03-07 22:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 21:10 [lm-sensors] [PATCH v2 01/01] hwmon: (w83627ehf) Add fan debounce Ian Dobson
2011-03-07 22:22 ` [lm-sensors] [PATCH v2 01/01] hwmon: (w83627ehf) Add fan Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.