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>