aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Peres <[email protected]>2014-08-24 23:15:11 +0200
committerBen Skeggs <[email protected]>2014-09-15 22:25:02 +1000
commit3a405258b2baa71e8f042f0b55392d40e3f99f3e (patch)
tree91b57627af5b56b0854a9b3c300af48c4e19ba76
parentc5b4865e20d47b7ebc1ad78602b744e0b4307224 (diff)
drm/nouveau/therm/nv84+: do not expose non-calibrated internal temp sensor
Signed-off-by: Martin Peres <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
-rw-r--r--drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c b/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c
index 38b16d92f420..14e2e09bfc24 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c
+++ b/drivers/gpu/drm/nouveau/core/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