drm/nouveau/therm: do not make assumptions on temperature
In nouveau_therm_sensor_event, temperature is stored as an uint8_t even though the original interface returns an int. This change should make it more obvious when the sensor is either very-ill-calibrated or when we selected the wrong sensor style on the nv40 family. Signed-off-by: Martin Peres <martin.peres@labri.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
eea4eb14a0
commit
7591782b9f
|
@ -106,16 +106,16 @@ void nouveau_therm_sensor_event(struct nouveau_therm *therm,
|
||||||
const char *thresolds[] = {
|
const char *thresolds[] = {
|
||||||
"fanboost", "downclock", "critical", "shutdown"
|
"fanboost", "downclock", "critical", "shutdown"
|
||||||
};
|
};
|
||||||
uint8_t temperature = therm->temp_get(therm);
|
int temperature = therm->temp_get(therm);
|
||||||
|
|
||||||
if (thrs < 0 || thrs > 3)
|
if (thrs < 0 || thrs > 3)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (dir == NOUVEAU_THERM_THRS_FALLING)
|
if (dir == NOUVEAU_THERM_THRS_FALLING)
|
||||||
nv_info(therm, "temperature (%u C) went below the '%s' threshold\n",
|
nv_info(therm, "temperature (%i C) went below the '%s' threshold\n",
|
||||||
temperature, thresolds[thrs]);
|
temperature, thresolds[thrs]);
|
||||||
else
|
else
|
||||||
nv_info(therm, "temperature (%u C) hit the '%s' threshold\n",
|
nv_info(therm, "temperature (%i C) hit the '%s' threshold\n",
|
||||||
temperature, thresolds[thrs]);
|
temperature, thresolds[thrs]);
|
||||||
|
|
||||||
active = (dir == NOUVEAU_THERM_THRS_RISING);
|
active = (dir == NOUVEAU_THERM_THRS_RISING);
|
||||||
|
|
Loading…
Reference in New Issue