hwmon: (coretemp) Refine TjMax detection
Intel's turbostat code uses only 7 bits from MSR_IA32_TEMPERATURE_TARGET to read TjMax, and also only accepts it if the reported temperature is at least 85 degrees C. Play safe and do the same. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Родитель
347c16cfde
Коммит
9fb6c9c73b
|
@ -368,12 +368,12 @@ static int get_tjmax(struct cpuinfo_x86 *c, u32 id, struct device *dev)
|
||||||
if (cpu_has_tjmax(c))
|
if (cpu_has_tjmax(c))
|
||||||
dev_warn(dev, "Unable to read TjMax from CPU %u\n", id);
|
dev_warn(dev, "Unable to read TjMax from CPU %u\n", id);
|
||||||
} else {
|
} else {
|
||||||
val = (eax >> 16) & 0xff;
|
val = (eax >> 16) & 0x7f;
|
||||||
/*
|
/*
|
||||||
* If the TjMax is not plausible, an assumption
|
* If the TjMax is not plausible, an assumption
|
||||||
* will be used
|
* will be used
|
||||||
*/
|
*/
|
||||||
if (val) {
|
if (val >= 85) {
|
||||||
dev_dbg(dev, "TjMax is %d degrees C\n", val);
|
dev_dbg(dev, "TjMax is %d degrees C\n", val);
|
||||||
return val * 1000;
|
return val * 1000;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче