Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jan 2010 19:56:49 +0100
From:      Oliver Lehmann <lehmann@ans-netz.de>
To:        Oliver Lehmann <lehmann@ans-netz.de>
Cc:        freebsd-stable@freebsd.org, Jeremy Chadwick <freebsd@jdc.parodius.com>, freebsd-hardware@freebsd.org
Subject:   Re: smb driver for Nvidia ION (intel ATOM) chipset
Message-ID:  <20100107195649.8b9c8cd8.lehmann@ans-netz.de>
In-Reply-To: <20100107195213.b2c7e942.lehmann@ans-netz.de>
References:  <20100105192746.cc627795.lehmann@ans-netz.de> <20100107063413.614058fc.lehmann@ans-netz.de> <20100107063831.GA53300@icarus.home.lan> <20100107074805.59556.qmail@avocado.salatschuessel.net> <20100107080914.60245.qmail@avocado.salatschuessel.net> <20100107083908.GA58065@icarus.home.lan> <20100107195213.b2c7e942.lehmann@ans-netz.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Thu__7_Jan_2010_19_56_49_+0100_1xWs2Z6hAlUn4Cch
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Oliver Lehmann wrote:

> I've attached the patch for sens_it87.c

Which was broken.... I attached the correct one.


-- 
 Oliver Lehmann
  http://www.pofo.de/
  http://wishlist.ans-netz.de/

--Multipart=_Thu__7_Jan_2010_19_56_49_+0100_1xWs2Z6hAlUn4Cch
Content-Type: text/x-diff;
 name="sens_it87.c.diff"
Content-Disposition: attachment;
 filename="sens_it87.c.diff"
Content-Transfer-Encoding: 7bit

--- sens_it87.c.orig	2003-10-13 09:11:20.000000000 +0200
+++ sens_it87.c	2010-01-07 19:55:47.000000000 +0100
@@ -41,7 +41,9 @@
 #define	IT87_TEMP(nr)	(0x29 + (nr))
 #define	IT87_VOLT(nr)	(0x20 + (nr))
 #define	IT87_FAN(nr)	(0x0D + (nr))
+#define IT87_FANX(nr)   (0x18 + (nr))
 #define	IT87_FANDIV		0x0B
+#define IT87_FANDIV16		0x0C
 
 static	int		it87_probe(LM_METHODS *);
 static	float	it87_temp(LM_METHODS *, int);
@@ -151,13 +153,26 @@
 			fac = 0.016 * 1.68;
 			break;
 		case 4:
+#ifdef IT8720
+			fac = 0.016 * 5.524;
+#else
 			fac = 0.016 * 3.80;
+#endif
 			break;
 		case 5:
+#ifdef IT8720
+			fac = - 0.016 * 5.524;
+#else
 			fac = - 0.016 * 3.477;
+#endif
 			break;
 		case 6:
+#ifdef IT8720
+			fac = - 0.016 * 2.31;
+#else
 			fac = - 0.016 * 1.505;
+#endif
+
 	}
 
 	return (float) method->Read(IT87_VOLT(no)) * fac;
@@ -191,6 +206,7 @@
 	if (no < 0 || 2 < no)
 		return 0xFFFF;
 
+#ifndef IT8720
 	n = method->Read(IT87_FANDIV);
 	div[0] =  n & 0x07;
 	div[1] = (n >> 3) & 0x07;
@@ -210,6 +226,17 @@
 	} else if (r == 0) {
 		return 0xFFFF;
 	}
+#else
+	div[no] = 1;
+	method->Write(0x0C,1|0x07);
+	n = method->Read(IT87_FANDIV16);
+	if(n & 0x07) {
+		r  = method->Read(IT87_FAN(no));
+		r |= method->Read(IT87_FANX(no))<<8;
+	}
+	if(r == 0 || r == 0xFFFF)
+		return 0xFFFF;
+#endif
 
 	return 1350000 / (r * (1 << div[no]));
 }

--Multipart=_Thu__7_Jan_2010_19_56_49_+0100_1xWs2Z6hAlUn4Cch--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100107195649.8b9c8cd8.lehmann>