Martin Peres
2015-Nov-29 14:10 UTC
[Nouveau] [PATCH] bios/fan: hardcode the fan mode to linear
This is an oversight that made use of the trip-point-based fan managenent on cards that never expose those. This led the fan to stay at fan_min. Fortunately, the emergency code would kick when the temperature would reach 90°C. Reported-by: Tom Englund <tomenglund26 at gmail.com> Tested-by: Tom Englund <tomenglund26 at gmail.com> Signed-off-by: Martin Peres <martin.peres at free.fr> --- drm/nouveau/nvkm/subdev/bios/fan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drm/nouveau/nvkm/subdev/bios/fan.c b/drm/nouveau/nvkm/subdev/bios/fan.c index 43006db..80fed7e 100644 --- a/drm/nouveau/nvkm/subdev/bios/fan.c +++ b/drm/nouveau/nvkm/subdev/bios/fan.c @@ -83,6 +83,7 @@ nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) fan->type = NVBIOS_THERM_FAN_UNK; } + fan->fan_mode = NVBIOS_THERM_FAN_LINEAR; fan->min_duty = nvbios_rd08(bios, data + 0x02); fan->max_duty = nvbios_rd08(bios, data + 0x03); -- 2.6.2
Martin Peres
2015-Dec-17 17:18 UTC
[Nouveau] [PATCH] bios/fan: hardcode the fan mode to linear
On 29/11/15 16:10, Martin Peres wrote:> This is an oversight that made use of the trip-point-based fan managenent on > cards that never expose those. This led the fan to stay at fan_min. > > Fortunately, the emergency code would kick when the temperature would reach > 90°C. > > Reported-by: Tom Englund <tomenglund26 at gmail.com> > Tested-by: Tom Englund <tomenglund26 at gmail.com>Tested-by: Daemon32 <lnf.purple at gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92126> Signed-off-by: Martin Peres <martin.peres at free.fr> > --- > drm/nouveau/nvkm/subdev/bios/fan.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drm/nouveau/nvkm/subdev/bios/fan.c b/drm/nouveau/nvkm/subdev/bios/fan.c > index 43006db..80fed7e 100644 > --- a/drm/nouveau/nvkm/subdev/bios/fan.c > +++ b/drm/nouveau/nvkm/subdev/bios/fan.c > @@ -83,6 +83,7 @@ nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan) > fan->type = NVBIOS_THERM_FAN_UNK; > } > > + fan->fan_mode = NVBIOS_THERM_FAN_LINEAR; > fan->min_duty = nvbios_rd08(bios, data + 0x02); > fan->max_duty = nvbios_rd08(bios, data + 0x03); > >Ben, can you merge this patch? It is kind of critical :s And it should be CCed to stable too, without it, some kepler/maxwell get 0% fan power which is kind of dangerous, even without reclocking!
Martin Peres
2016-Jan-04 14:56 UTC
[Nouveau] [PATCH] bios/fan: hardcode the fan mode to linear
On 17/12/15 19:18, Martin Peres wrote:> > > On 29/11/15 16:10, Martin Peres wrote: >> This is an oversight that made use of the trip-point-based fan >> managenent on >> cards that never expose those. This led the fan to stay at fan_min. >> >> Fortunately, the emergency code would kick when the temperature would >> reach >> 90°C. >> >> Reported-by: Tom Englund <tomenglund26 at gmail.com> >> Tested-by: Tom Englund <tomenglund26 at gmail.com> > > Tested-by: Daemon32 <lnf.purple at gmail.com> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92126 > >> Signed-off-by: Martin Peres <martin.peres at free.fr> >> --- >> drm/nouveau/nvkm/subdev/bios/fan.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drm/nouveau/nvkm/subdev/bios/fan.c >> b/drm/nouveau/nvkm/subdev/bios/fan.c >> index 43006db..80fed7e 100644 >> --- a/drm/nouveau/nvkm/subdev/bios/fan.c >> +++ b/drm/nouveau/nvkm/subdev/bios/fan.c >> @@ -83,6 +83,7 @@ nvbios_fan_parse(struct nvkm_bios *bios, struct >> nvbios_therm_fan *fan) >> fan->type = NVBIOS_THERM_FAN_UNK; >> } >> >> + fan->fan_mode = NVBIOS_THERM_FAN_LINEAR; >> fan->min_duty = nvbios_rd08(bios, data + 0x02); >> fan->max_duty = nvbios_rd08(bios, data + 0x03); >> >> > > Ben, can you merge this patch? It is kind of critical :s And it should > be CCed to stable too, without it, some kepler/maxwell get 0% fan > power which is kind of dangerous, even without reclocking!Ping, this is really important :s