Commit 11878006 authored by Takashi Iwai's avatar Takashi Iwai Committed by Ben Skeggs

drm/nouveau: Don't disable polling in fallback mode

When a fan is controlled via linear fallback without cstate, we
shouldn't stop polling.  Otherwise it won't be adjusted again and
keeps running at an initial crazy pace.

Fixes: 800efb4c ("drm/nouveau/drm/therm/fan: add a fallback if no fan control is specified in the vbios")
Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1103356
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107447Reported-by: default avatarThomas Blume <thomas.blume@suse.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Reviewed-by: default avatarMartin Peres <martin.peres@free.fr>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 15f77c4a
...@@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) ...@@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
duty = nvkm_therm_update_linear(therm); duty = nvkm_therm_update_linear(therm);
break; break;
case NVBIOS_THERM_FAN_OTHER: case NVBIOS_THERM_FAN_OTHER:
if (therm->cstate) if (therm->cstate) {
duty = therm->cstate; duty = therm->cstate;
else poll = false;
} else {
duty = nvkm_therm_update_linear_fallback(therm); duty = nvkm_therm_update_linear_fallback(therm);
poll = false; }
break; break;
} }
immd = false; immd = false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment