[Nouveau] [PATCH] drm/nouveau: Don't disable polling in fallback mode
Takashi Iwai
tiwai at suse.de
Wed Nov 14 16:01:33 UTC 2018
On Fri, 14 Sep 2018 13:59:25 +0200,
Martin Peres wrote:
>
> On 14/09/2018 10:28, Ben Skeggs wrote:
> > 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.
>
> Wow, blast from the past!
>
> Anyway, the analysis is pretty spot on here. When using the cstate-based
> fan speed (change the speed of the fan based on what frequency is used),
> then polling is unnecessary and this function should only be called when
> changing the pstate.
>
> However, in the absence of ANY information, we fallback to a
> temperature-based management which requires constant polling, so the
> patch is accurate and poll = false should only be set if we have a cstate.
>
> So, the patch is Reviewed-by: Martin Peres <martin.peres at free.fr>
Just a gentle reminder: this patch seems forgotten for 4.20 merge.
Could you guys pick it if it's OK?
Thanks!
Takashi
>
> >
> >>
> >> 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
>
> I see that Thomas has been having issues with the noise level anyway. I
> suggest he should bump the value of temp1_auto_point1_temp (see
> https://www.kernel.org/doc/Documentation/thermal/nouveau_thermal).
>
> The default value is set to 90°C which is quite safe on these old GPUs
> (NVIDIA G71 / nv49). I would say that it is safe to go up to 110°C.
> Which should reduce the noise level.
>
> Another technique may be to reduce the minimum fan speed to something
> lower than 30°C. It should increase the slope but reduce the noise level
> at a given temperature.
>
> One reason why these GPUs run so hot on nouveau is the lack of power and
> clock gating. I am sorry that I never finished to reverse engineer these...
>
> Anyway, thanks a lot for the patch!
>
> >> 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 dri-devel
mailing list