search for: nv84_therm_priv

Displaying 6 results from an estimated 6 matches for "nv84_therm_priv".

2013 Aug 31
2
[PATCH] drm/nouveau/therm: ack any pending IRQ at init v2
.../gpu/drm/nouveau/core/subdev/therm/nv84.c +++ b/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c @@ -209,13 +209,30 @@ nv84_therm_ctor(struct nouveau_object *parent, return nouveau_therm_preinit(&priv->base.base); } +static int +nv84_therm_init(struct nouveau_object *object) +{ + struct nv84_therm_priv *priv = (void *)object; + int ret; + + ret = nouveau_therm_init(&priv->base.base); + if (ret) + return ret; + + /* ACK ptherm IRQs */ + nv_wr32(object, 0x20100, 0xffffffff); + nv_wr32(object, 0x1100, 0x10000); /* PBUS */ + + return 0; +} + struct nouveau_oclass nv84_therm_oclass = { .ha...
2013 Aug 30
5
[PATCH 1/2] drm/nouveau/bios/therm: handle vbioses with duplicate entries (mostly nva5)
From: Martin Peres <martin.peres at labri.fr> Some vbioses have extra useless entries after "the end" of the table. This is problematic since all of the vbios I found with this issue redefine the pwm freq divider to insane levels (52750 Hz instead of 2500), thus breaking fan management. The first solution to solve this mess would be to change the length of the table. The solution
2013 Aug 30
0
[PATCH 2/2] drm/nv84/therm: ack any pending IRQ at init
.../gpu/drm/nouveau/core/subdev/therm/nv84.c +++ b/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c @@ -209,13 +209,30 @@ nv84_therm_ctor(struct nouveau_object *parent, return nouveau_therm_preinit(&priv->base.base); } +static int +nv84_therm_init(struct nouveau_object *object) +{ + struct nv84_therm_priv *priv = (void *)object; + int ret; + + ret = nouveau_therm_init(&priv->base.base); + if (ret) + return ret; + + /* ACK ptherm IRQs */ + nv_wr32(object, 0x20100, 0xffffffff); + nv_wr32(object, 0x1100, 0x10000); /* PBUS */ + + return 0; +} + struct nouveau_oclass nv84_therm_oclass = { .ha...
2014 Aug 24
0
[PATCH 3/3] therm/nv84+: do not expose non-calibrated internal temp sensor
...rtin.peres at free.fr> --- nvkm/subdev/therm/nv84.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nvkm/subdev/therm/nv84.c b/nvkm/subdev/therm/nv84.c index 38b16d9..14e2e09 100644 --- a/nvkm/subdev/therm/nv84.c +++ b/nvkm/subdev/therm/nv84.c @@ -33,7 +33,12 @@ struct nv84_therm_priv { int nv84_temp_get(struct nouveau_therm *therm) { - return nv_rd32(therm, 0x20400); + struct nouveau_fuse *fuse = nouveau_fuse(therm); + + if (nv_ro32(fuse, 0x1a8) == 1) + return nv_rd32(therm, 0x20400); + else + return -ENODEV; } void -- 2.0.0
2013 Sep 04
0
[PATCH] drm/nouveau/therm: ack any pending IRQ at init v2
...ivers/gpu/drm/nouveau/core/subdev/therm/nv84.c > @@ -209,13 +209,30 @@ nv84_therm_ctor(struct nouveau_object *parent, > return nouveau_therm_preinit(&priv->base.base); > } > > +static int > +nv84_therm_init(struct nouveau_object *object) > +{ > + struct nv84_therm_priv *priv = (void *)object; > + int ret; > + > + ret = nouveau_therm_init(&priv->base.base); > + if (ret) > + return ret; > + > + /* ACK ptherm IRQs */ > + nv_wr32(object, 0x20100, 0xffffffff); > + nv_wr32(object, 0x110...
2014 Aug 24
8
[PATCH 1/3] subdev: add a pfuse subdev
We will use this subdev to disable temperature reading on cards that did not get a sensor calibration in the factory. Signed-off-by: Martin Peres <martin.peres at free.fr> --- configure.ac | 1 + drm/Kbuild | 4 ++ drm/core/include/subdev/fuse.h | 1 + drm/core/subdev/fuse/base.c | 1 + drm/core/subdev/fuse/g80.c | 1 +