Date: Sat, 26 May 2007 11:31:17 GMT From: Rui Paulo <rpaulo@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 120422 for review Message-ID: <200705261131.l4QBVHsT040632@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=120422 Change 120422 by rpaulo@rpaulo_epsilon on 2007/05/26 11:31:01 The temperature values/names were wrong. By inspecting Hardware Monitor for Mac OS X, I figured it out how to correctly fetch the temperature and also what are the appropriate names for the keys. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#2 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#2 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#1 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#2 $ * */ @@ -75,7 +75,7 @@ static int asmc_fan_getvalue(device_t, const char *, int); static int asmc_temp_getvalue(device_t, const char *); static int asmc_sms_read(device_t, const char *, int16_t *); -static int asms_sms_calibrate(device_t); +static void asms_sms_calibrate(device_t); /* * Model functions. @@ -373,7 +373,7 @@ { struct asmc_softc *sc = device_get_softc(dev); int i, error = 1; - uint8_t buf[2]; + uint8_t buf[4]; /* * Wait up to 5 seconds for SMS initialization. @@ -399,7 +399,16 @@ device_printf(dev, "more than %d fans were detected. Please " "report this.", ASMC_MAXFANS); sc->sc_nfan = ASMC_MAXFANS; - } + } + + if (bootverbose) { + /* + * XXX: The number of keys is a 32 bit buffer, but + * right now Apple only uses the last 8 bit. + */ + asmc_key_read(dev, ASMC_NKEYS, buf, 4); + device_printf(dev, "number of keys: %d\n", buf[3]); + } return error; } @@ -605,9 +614,7 @@ if (asmc_key_read(dev, key, buf, 2) < 0) return -1; - temp = buf[0] | ((buf[1] >> 6) * 25); - - return temp; + return buf[0]; } static int @@ -651,7 +658,7 @@ return error; } -static int +static void asms_sms_calibrate(device_t dev) { struct asmc_softc *sc = device_get_softc(dev); ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#1 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmcvar.h#2 $ * */ @@ -80,6 +80,9 @@ #define ASMC_CMDREAD 0x10 #define ASMC_CMDWRITE 0x11 +/* Number of keys */ +#define ASMC_NKEYS "#KEY" /* RO; 4 bytes */ + /* * Fan control via SMC. */ @@ -120,16 +123,17 @@ * */ -#define ASMC_MB_TEMPS { "TB0T", "TC0D", "TC0P", "Th0H", "Th1H", \ - "Ts0P", NULL } +#define ASMC_MB_TEMPS { "TB0T", "TN0P", "TN1P", "Th0H", "Th1H", \ + "TM0P", NULL } #define ASMC_MB_TEMPNAMES { "enclosure", "northbridge1", \ "northbridge2", "heatsink1", \ "heatsink2", "memory", } -#define ASMC_MB_TEMPDESCS { "Enclosure Bottom", "Northbridge Point 1", \ +#define ASMC_MB_TEMPDESCS { "Enclosure Bottomside", \ + "Northbridge Point 1", \ "Northbridge Point 2", "Heatsink 1", \ "Heatsink 2", "Memory Bank A", } -#define ASMC_MM_TEMPS { "TC0D", "TC0P", NULL } +#define ASMC_MM_TEMPS { "TN0P", "TN1P", NULL } #define ASMC_MM_TEMPNAMES { "northbridge1", "northbridge2" } #define ASMC_MM_TEMPDESCS { "Northbridge Point 1", \ "Northbridge Point 2" }help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705261131.l4QBVHsT040632>
