On Sun, Feb 03, 2013 at 09:07:56PM +0100, Marcin Slusarz wrote: > Current uninitialized sensor detection does not work for me on nv4b and > sensor returns crazy values (>190°C). It stabilises later, but it's too > late - therm code shutdowns the machine... > > Let's just reset it on init. > > Signed-off-by: Marcin Slusarz <marcin.slus...@gmail.com> > --- > drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c > b/drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c > index accc628..7d90844 100644 > --- a/drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c > +++ b/drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c > @@ -173,13 +173,23 @@ nv40_therm_ctor(struct nouveau_object *parent, > return nouveau_therm_preinit(&priv->base.base); > } > > +int > +nv40_therm_init(struct nouveau_object *object)
Tiny issue: this function should be static. > +{ > + struct nouveau_therm *therm = (void *)object; > + > + nv40_sensor_setup(therm); > + > + return _nouveau_therm_init(object); > +} > + > struct nouveau_oclass > nv40_therm_oclass = { > .handle = NV_SUBDEV(THERM, 0x40), > .ofuncs = &(struct nouveau_ofuncs) { > .ctor = nv40_therm_ctor, > .dtor = _nouveau_therm_dtor, > - .init = _nouveau_therm_init, > + .init = nv40_therm_init, > .fini = _nouveau_therm_fini, > }, > }; > -- > 1.8.1 > _______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau