[Nouveau] [PATCH] drm/nouveau: Don't disable polling in fallback mode
Ben Skeggs
skeggsb at gmail.com
Fri Sep 14 07:28:17 UTC 2018
On Wed, 12 Sep 2018 at 20:59, Takashi Iwai <tiwai at suse.de> wrote:
>
> 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.
Martin,
Any thoughts on this?
Ben.
>
> Fixes: 800efb4c2857 ("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=107447
> Reported-by: Thomas Blume <thomas.blume at suse.com>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
>
> ---
> drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c
> index 3695cde669f8..07914e36939e 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c
> @@ -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
> + poll = false;
> + } else {
> duty = nvkm_therm_update_linear_fallback(therm);
> - poll = false;
> + }
> break;
> }
> immd = false;
> --
> 2.18.0
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
More information about the Nouveau
mailing list