Not sure if i understand completely what you intend to say here, with this we prevent hwmon from reporting utterly wrong temperature values returning an error (we could return -EBUSY or somehting instead, granted), yet if the device is shadowed, getting a sane temp value out of is seems unlikely to me!

Greetings,

Tobias

On 1/26/18 12:40 PM, Karol Herbst wrote:
no, we can't do that. We actually have to prevent this from hwom. The
issue here is, that the reg read returns 0xffffffff and parsing that
is the first step in the first place.

On Thu, Jan 25, 2018 at 7:16 PM, Tobias Klausmann
<[email protected]> wrote:
This fixes wrong temperature outputs e.g. 511°C if the card is asleep.

Signed-off-by: Tobias Klausmann <[email protected]>
---
  drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c 
b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
index 9f0dea3f61dc..45d0ec632b5a 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c
@@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm)
         u32 inttemp = (tsensor & 0x0001fff8);

         /* device SHADOWed */
-       if (tsensor & 0x40000000)
+       if (tsensor & 0x40000000) {
                 nvkm_trace(subdev, "reading temperature from SHADOWed 
sensor\n");
+               return -ENODEV;
+       }

         /* device valid */
         if (tsensor & 0x20000000)
--
2.16.1

_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to