diff options
Diffstat (limited to 'drivers/hwmon/coretemp.c')
-rw-r--r-- | drivers/hwmon/coretemp.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c index de3d2465fe24..85e937984ff7 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c | |||
@@ -296,7 +296,7 @@ static int get_tjmax(struct cpuinfo_x86 *c, u32 id, struct device *dev) | |||
296 | * If the TjMax is not plausible, an assumption | 296 | * If the TjMax is not plausible, an assumption |
297 | * will be used | 297 | * will be used |
298 | */ | 298 | */ |
299 | if (val > 80 && val < 120) { | 299 | if (val) { |
300 | dev_info(dev, "TjMax is %d C.\n", val); | 300 | dev_info(dev, "TjMax is %d C.\n", val); |
301 | return val * 1000; | 301 | return val * 1000; |
302 | } | 302 | } |
@@ -304,24 +304,9 @@ static int get_tjmax(struct cpuinfo_x86 *c, u32 id, struct device *dev) | |||
304 | 304 | ||
305 | /* | 305 | /* |
306 | * An assumption is made for early CPUs and unreadable MSR. | 306 | * An assumption is made for early CPUs and unreadable MSR. |
307 | * NOTE: the given value may not be correct. | 307 | * NOTE: the calculated value may not be correct. |
308 | */ | 308 | */ |
309 | 309 | return adjust_tjmax(c, id, dev); | |
310 | switch (c->x86_model) { | ||
311 | case 0xe: | ||
312 | case 0xf: | ||
313 | case 0x16: | ||
314 | case 0x1a: | ||
315 | dev_warn(dev, "TjMax is assumed as 100 C!\n"); | ||
316 | return 100000; | ||
317 | case 0x17: | ||
318 | case 0x1c: /* Atom CPUs */ | ||
319 | return adjust_tjmax(c, id, dev); | ||
320 | default: | ||
321 | dev_warn(dev, "CPU (model=0x%x) is not supported yet," | ||
322 | " using default TjMax of 100C.\n", c->x86_model); | ||
323 | return 100000; | ||
324 | } | ||
325 | } | 310 | } |
326 | 311 | ||
327 | static void __devinit get_ucode_rev_on_cpu(void *edx) | 312 | static void __devinit get_ucode_rev_on_cpu(void *edx) |
@@ -341,7 +326,7 @@ static int get_pkg_tjmax(unsigned int cpu, struct device *dev) | |||
341 | err = rdmsr_safe_on_cpu(cpu, MSR_IA32_TEMPERATURE_TARGET, &eax, &edx); | 326 | err = rdmsr_safe_on_cpu(cpu, MSR_IA32_TEMPERATURE_TARGET, &eax, &edx); |
342 | if (!err) { | 327 | if (!err) { |
343 | val = (eax >> 16) & 0xff; | 328 | val = (eax >> 16) & 0xff; |
344 | if (val > 80 && val < 120) | 329 | if (val) |
345 | return val * 1000; | 330 | return val * 1000; |
346 | } | 331 | } |
347 | dev_warn(dev, "Unable to read Pkg-TjMax from CPU:%u\n", cpu); | 332 | dev_warn(dev, "Unable to read Pkg-TjMax from CPU:%u\n", cpu); |