Commit b81259d9 authored by Takashi Iwai's avatar Takashi Iwai Committed by Greg Kroah-Hartman

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

[ Upstream commit 11878006 ]

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>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 771e153f
......@@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)
duty = nvkm_therm_update_linear(therm);
break;
case NVBIOS_THERM_FAN_OTHER:
if (therm->cstate)
if (therm->cstate) {
duty = therm->cstate;
else
duty = nvkm_therm_update_linear_fallback(therm);
poll = false;
} else {
duty = nvkm_therm_update_linear_fallback(therm);
}
break;
}
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