drm/nouveau/bios/fan: pointers are 32-bit
authorBen Skeggs <bskeggs@redhat.com>
Fri, 18 Nov 2016 01:30:20 +0000 (11:30 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Mon, 28 Nov 2016 05:39:34 +0000 (15:39 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/fan.h
drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c

index 693ea7d9ec43b73037929e620406e3f8b92fad9f..a7513e8406a386063c5eec097e7097ad18cdd8ae 100644 (file)
@@ -2,5 +2,5 @@
 #define __NVBIOS_FAN_H__
 #include <subdev/bios/therm.h>
 
-u16 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan);
+u32 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan);
 #endif
index e2905815049bb9db408b742735a3bf85f43c6c17..456f9ea920dcf83478e0e9f25518cc887fc78fc4 100644 (file)
 #include <subdev/bios/bit.h>
 #include <subdev/bios/fan.h>
 
-static u16
+static u32
 nvbios_fan_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
 {
        struct bit_entry bit_P;
-       u16 fan = 0x0000;
+       u32 fan = 0;
 
        if (!bit_entry(bios, 'P', &bit_P)) {
                if (bit_P.version == 2 && bit_P.length >= 0x5a)
-                       fan = nvbios_rd16(bios, bit_P.offset + 0x58);
+                       fan = nvbios_rd32(bios, bit_P.offset + 0x58);
 
                if (fan) {
                        *ver = nvbios_rd08(bios, fan + 0);
@@ -49,25 +49,25 @@ nvbios_fan_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
                }
        }
 
-       return 0x0000;
+       return 0;
 }
 
-static u16
+static u32
 nvbios_fan_entry(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr,
                 u8 *cnt, u8 *len)
 {
-       u16 data = nvbios_fan_table(bios, ver, hdr, cnt, len);
+       u32 data = nvbios_fan_table(bios, ver, hdr, cnt, len);
        if (data && idx < *cnt)
                return data + *hdr + (idx * (*len));
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan)
 {
        u8 ver, hdr, cnt, len;
 
-       u16 data = nvbios_fan_entry(bios, 0, &ver, &hdr, &cnt, &len);
+       u32 data = nvbios_fan_entry(bios, 0, &ver, &hdr, &cnt, &len);
        if (data) {
                u8 type = nvbios_rd08(bios, data + 0x00);
                switch (type) {