public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Zick" <lkml@morethan.org>
To: Harald Welte <HaraldWelte@viatech.com>
Cc: Jean Delvare <khali@linux-fr.org>,
	Tomaz Mertelj <tomaz.mertelj@guest.arnes.si>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature
Date: Fri, 12 Jun 2009 08:41:05 -0500	[thread overview]
Message-ID: <200906120841.08114.lkml@morethan.org> (raw)
In-Reply-To: <20090612125450.GK30843@prithivi.gnumonks.org>

[-- Attachment #1: Type: text/plain, Size: 1930 bytes --]

On Fri June 12 2009, Harald Welte wrote:
> On Fri, Jun 12, 2009 at 06:46:45AM -0500, Michael S. Zick wrote:
> > > Temperature values are supposed to be expressed in millidegrees C, not
> > > degrees C as it seems to be doing (although 25 degrees C seems pretty
> > > low for a CPU temperature?) The drivers needs to multiply values by
> > > 1000 before exporting them to sysfs. Then "sensors" will report the
> > > correct temperature value.
> > > 
> > 
> > Ah, 25 degrees C is room temperature - real hard for the junction temperature
> > to be 25 degrees C with power applied; lacking an infinitely perfect heatsink.
> > 
> > Look for an "off by one" error in shifting or masking the value.
> 
> there is no shifting and the masking is 0xffffffff :)
> 
> it might be that the BIOS is doing something wrong when programming the
> calibration MSR's at early botoup.  I would need the contents of MSR 
> 0x1160 ... 0x116C as well as 0x1152 and 0x1153 to be able to determine that.
> 

root@cb01:~# for r in 0x1160 0x1161 0x1162 0x1163 0x1164 0x1165 0x1166 0x1167 0x1168 0x1169 0x116a 0x116b 0x116c 0x1152 0x1153 ; do ./rdmsr $r ; done
MSR register 0x1160 => 08:04:98:10:b7:ef:8f:f4
MSR register 0x1161 => 08:04:98:10:b7:fb:af:f4
MSR register 0x1162 => 08:04:98:10:b7:ec:ff:f4
MSR register 0x1163 => 08:04:98:10:b7:fa:cf:f4
MSR register 0x1164 => 08:04:98:10:b7:f4:cf:f4
MSR register 0x1165 => 08:04:98:10:b7:f3:2f:f4
MSR register 0x1166 => 08:04:98:10:b7:f1:7f:f4
MSR register 0x1167 => 08:04:98:10:b7:f2:0f:f4
MSR register 0x1168 => 08:04:98:10:b7:ef:0f:f4
MSR register 0x1169 => 08:04:98:10:b7:fc:8f:f4
MSR register 0x116a => 08:04:98:10:b7:ef:8f:f4
MSR register 0x116b => 08:04:98:10:b7:f8:bf:f4
MSR register 0x116c => 08:04:98:10:b7:f9:df:f4
MSR register 0x1152 => 08:04:98:10:b7:ed:5f:f4
MSR register 0x1153 => 08:04:98:10:b7:ed:cf:f4

The high 32b look strange in that output - might be
the utility I used (attached).

Mike


[-- Attachment #2: rdmsr.c --]
[-- Type: text/x-csrc, Size: 737 bytes --]

/* By Ron Minnich @ wiki.laptop.org */
/* No rights or license mentioned.  */

#define _LARGEFILE64_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *argv[])
{
    unsigned char buf[8];
    int fd_msr, i;
    unsigned long addr = 0;

    if (argc < 2) {
        printf("usage:rdmsr reg\n");
        exit(1);
    }
    addr = strtoul(argv[1], NULL, 0);

    fd_msr = open("/dev/cpu/0/msr", O_RDONLY);
    lseek64(fd_msr, (off64_t)addr, SEEK_SET);
    read(fd_msr, buf, 8);

    printf("MSR register 0x%lx => ", addr);
    for (i = 7; i > 0; i--)
        printf("%2.2x:", buf[i]);
    printf("%2.2x\n", buf[i]);

    return(0);
}


  parent reply	other threads:[~2009-06-12 13:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-09  8:34 [PATCH] hwmon: Add driver for VIA CPU core temperature Harald Welte
2009-06-10 17:40 ` Tomaz Mertelj
2009-06-11 22:02   ` Tomaz Mertelj
2009-06-11 22:32   ` Andrew Morton
2009-06-12  8:12     ` [lm-sensors] " Jean Delvare
2009-06-12  9:11       ` Tomaz Mertelj
2009-06-12  9:27       ` Harald Welte
2009-06-12 11:46       ` Michael S. Zick
2009-06-12 12:54         ` Harald Welte
2009-06-12 13:09           ` Michael S. Zick
2009-06-12 13:41           ` Michael S. Zick [this message]
2009-06-12 13:47             ` Michael S. Zick
2009-06-12 14:23             ` Michael S. Zick
2009-06-19 21:11 ` Jean Delvare
2009-06-27 18:34   ` Juerg Haefliger
2009-08-13 18:42     ` Juerg Haefliger
2009-08-19 14:32       ` Harald Welte
2009-08-19 16:52         ` Juerg Haefliger
2009-12-09  7:17           ` Harald Welte
  -- strict thread matches above, loose matches on Subject: below --
2009-06-12 14:46 [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature= tomaz.mertelj
2009-06-12 14:57 ` [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature Michael S. Zick
2009-06-12 15:12   ` Michael S. Zick
2009-06-12 15:25 [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature= tomaz.mertelj
2009-06-12 15:31 ` [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature Michael S. Zick
2009-06-12 16:04   ` Michael S. Zick
2009-06-12 17:38     ` Michael S. Zick
2009-06-12 18:16 [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature= tomaz.mertelj
2009-06-12 18:20 ` [lm-sensors] [PATCH] hwmon: Add driver for VIA CPU core temperature Michael S. Zick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200906120841.08114.lkml@morethan.org \
    --to=lkml@morethan.org \
    --cc=HaraldWelte@viatech.com \
    --cc=akpm@linux-foundation.org \
    --cc=khali@linux-fr.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=tomaz.mertelj@guest.arnes.si \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox