summaryrefslogtreecommitdiffstats
path: root/sys/dev/isa/it.c
diff options
context:
space:
mode:
authorgrange <grange@openbsd.org>2005-04-29 17:13:54 +0000
committergrange <grange@openbsd.org>2005-04-29 17:13:54 +0000
commit21668449244bbea1c7ec4ed409e87364c5750409 (patch)
tree3ff7192fc052bca63fe3a58e39335ae42e344ddc /sys/dev/isa/it.c
parentMake boot code use real mode with 64K segments instead of 1M segments, (diff)
downloadwireguard-openbsd-21668449244bbea1c7ec4ed409e87364c5750409.tar.xz
wireguard-openbsd-21668449244bbea1c7ec4ed409e87364c5750409.zip
Correct FAN3 divisor for IT8705 and add support for FAN3 divisor on IT8712.
Diff from Stephan Leemburg <sleemburg@jvc.nl>.
Diffstat (limited to 'sys/dev/isa/it.c')
-rw-r--r--sys/dev/isa/it.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/dev/isa/it.c b/sys/dev/isa/it.c
index 92ff100bc41..6be0db7dfad 100644
--- a/sys/dev/isa/it.c
+++ b/sys/dev/isa/it.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: it.c,v 1.13 2005/04/09 14:42:33 grange Exp $ */
+/* $OpenBSD: it.c,v 1.14 2005/04/29 17:13:54 grange Exp $ */
/*
* Copyright (c) 2003 Julien Bordet <zejames@greyhats.org>
@@ -285,17 +285,18 @@ it_generic_fanrpm(struct it_softc *sc, struct sensor *sensors)
{
int i, sdata, divisor;
+ divisor = it_readreg(sc, ITD_FAN);
for (i = 0; i < 3; i++) {
sdata = it_readreg(sc, ITD_SENSORFANBASE + i);
switch (i) {
case 2:
- divisor = 2;
+ divisor = (divisor & 0x40) ? 3 : 1;
break;
case 1:
- divisor = (it_readreg(sc, ITD_FAN) >> 3) & 0x7;
+ divisor = (divisor >> 3) & 0x7;
break;
- default:
- divisor = it_readreg(sc, ITD_FAN) & 0x7;
+ case 0:
+ divisor = divisor & 0x7;
break;
}