[Nouveau] [PATCH] drm/nouveau/therm/gp100: Do not report temperature when subdev is shadowed

Tobias Klausmann tobias.johannes.klausmann at mni.thm.de
Fri Jan 26 13:40:25 UTC 2018


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
> <tobias.johannes.klausmann at mni.thm.de> wrote:
>> This fixes wrong temperature outputs e.g. 511°C if the card is asleep.
>>
>> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
>> ---
>>   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
>> Nouveau at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/nouveau


More information about the dri-devel mailing list