Enable coretemp driver on Intel Atom
diff mbox series

Message ID 49E7C34A.60007@googlemail.com
State New, archived
Headers show
Series
  • Enable coretemp driver on Intel Atom
Related show

Commit Message

Michael Riepe April 16, 2009, 11:46 p.m. UTC
Hi!

This small patch enables the coretemp driver on an Intel Atom. I'm not
sure if the readings are correct, however - on my 330, the driver
reports values between 27 and 41 °C (with core1 being about 8°C hotter
than core0, given the same load). Maybe the maximum temperature of 100
°C is wrong for Atom CPUs.

Comments

Andrew Morton June 18, 2009, 7:13 p.m. UTC | #1
On Fri, 17 Apr 2009 01:46:18 +0200
Michael Riepe <michael.riepe@googlemail.com> wrote:

> This small patch enables the coretemp driver on an Intel Atom. I'm not
> sure if the readings are correct, however - on my 330, the driver
> reports values between 27 and 41 __C (with core1 being about 8__C hotter
> than core0, given the same load). Maybe the maximum temperature of 100
> __C is wrong for Atom CPUs.
> 
> -- 
> Michael "Tired" Riepe <michael.riepe@googlemail.com>
> X-Tired: Each morning I get up I die a little
> 
> 
> [linux-2.6.29.1-coretemp-atom.diff  text/plain (916B)]
> Signed-off-by: Michael Riepe <michael.riepe@googlemail.com>
> 
> Index: drivers/hwmon/coretemp.c
> ===================================================================
> RCS file: /var/cvs/sys/kernel/linux-2.6/drivers/hwmon/coretemp.c,v
> retrieving revision 1.1.1.5
> diff -u -r1.1.1.5 coretemp.c
> --- drivers/hwmon/coretemp.c	11 Jan 2009 21:29:23 -0000	1.1.1.5
> +++ drivers/hwmon/coretemp.c	16 Apr 2009 23:02:40 -0000
> @@ -185,7 +185,7 @@
>  		}
>  	}
>  
> -	if (ismobile) {
> +	if (ismobile || c->x86_model == 0x1c) {
>  
>  		err = rdmsr_safe_on_cpu(id, 0xee, &eax, &edx);
>  		if (err) {
> @@ -417,7 +417,7 @@
>  		if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
>  		    !((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
>  			(c->x86_model == 0x16) || (c->x86_model == 0x17) ||
> -			(c->x86_model == 0x1A))) {
> +			(c->x86_model == 0x1A) || (c->x86_model == 0x1c))) {
>  
>  			/* supported CPU not found, but report the unknown
>  			   family 6 CPU */
> 

I'm not 100% sure what to do about this patch.  I'm inclined to merge
it, even though you think it might be giving the wrong numbers,
because then someone might fix it.

otoh, if giving the wrong numbers leads to people's machines needlessly
shutting down or something like that, then that's not so good.

Opinions are sought?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Michael Riepe June 18, 2009, 9:05 p.m. UTC | #2
Hi!

Andrew Morton wrote:

> I'm not 100% sure what to do about this patch.  I'm inclined to merge
> it, even though you think it might be giving the wrong numbers,
> because then someone might fix it.

That was the basic idea :-)

> otoh, if giving the wrong numbers leads to people's machines needlessly
> shutting down or something like that, then that's not so good.

I don't think that that will happen. Core temperatures on my 330 are
lower than those reported by the other sensors (core 0/1: 27/35 °C on an
idle system - hardly alarming in my opinion).
Rudolf Marek June 21, 2009, 8:31 p.m. UTC | #3
Hi all,

If someone has good contact at Intel, please do ask them to send a patch with 
correct TjMax (or Tcontrol) temperature for this CPU. This info was hard to get 
for the Core CPUs.

Thanks,
Rudolf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

Index: drivers/hwmon/coretemp.c
===================================================================
RCS file: /var/cvs/sys/kernel/linux-2.6/drivers/hwmon/coretemp.c,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 coretemp.c
--- drivers/hwmon/coretemp.c	11 Jan 2009 21:29:23 -0000	1.1.1.5
+++ drivers/hwmon/coretemp.c	16 Apr 2009 23:02:40 -0000
@@ -185,7 +185,7 @@ 
 		}
 	}
 
-	if (ismobile) {
+	if (ismobile || c->x86_model == 0x1c) {
 
 		err = rdmsr_safe_on_cpu(id, 0xee, &eax, &edx);
 		if (err) {
@@ -417,7 +417,7 @@ 
 		if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
 		    !((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
 			(c->x86_model == 0x16) || (c->x86_model == 0x17) ||
-			(c->x86_model == 0x1A))) {
+			(c->x86_model == 0x1A) || (c->x86_model == 0x1c))) {
 
 			/* supported CPU not found, but report the unknown
 			   family 6 CPU */