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

index 23f3d1b93ebbbe3852d8c0a530a43e858772de43..f0baa2c7de09d25a2fc19fafb57123c336b2dff3 100644 (file)
@@ -22,8 +22,8 @@ struct nvbios_volt {
        u32 pwm_range;
 };
 
-u16 nvbios_volt_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
-u16 nvbios_volt_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
+u32 nvbios_volt_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
+u32 nvbios_volt_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
                      struct nvbios_volt *);
 
 struct nvbios_volt_entry {
@@ -31,7 +31,7 @@ struct nvbios_volt_entry {
        u8  vid;
 };
 
-u16 nvbios_volt_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
-u16 nvbios_volt_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
+u32 nvbios_volt_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
+u32 nvbios_volt_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
                            struct nvbios_volt_entry *);
 #endif
index 4504822ace51cb9a6dc07098b797269fa096f2c5..a7797a9e9cbcf4500635909440a8d89b025ac5ed 100644 (file)
 #include <subdev/bios/bit.h>
 #include <subdev/bios/volt.h>
 
-u16
+u32
 nvbios_volt_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
 {
        struct bit_entry bit_P;
-       u16 volt = 0x0000;
+       u32 volt = 0;
 
        if (!bit_entry(bios, 'P', &bit_P)) {
                if (bit_P.version == 2)
-                       volt = nvbios_rd16(bios, bit_P.offset + 0x0c);
+                       volt = nvbios_rd32(bios, bit_P.offset + 0x0c);
                else
                if (bit_P.version == 1)
-                       volt = nvbios_rd16(bios, bit_P.offset + 0x10);
+                       volt = nvbios_rd32(bios, bit_P.offset + 0x10);
 
                if (volt) {
                        *ver = nvbios_rd08(bios, volt + 0);
@@ -62,14 +62,14 @@ nvbios_volt_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
                }
        }
 
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_volt_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
                  struct nvbios_volt *info)
 {
-       u16 volt = nvbios_volt_table(bios, ver, hdr, cnt, len);
+       u32 volt = nvbios_volt_table(bios, ver, hdr, cnt, len);
        memset(info, 0x00, sizeof(*info));
        switch (!!volt * *ver) {
        case 0x12:
@@ -119,23 +119,23 @@ nvbios_volt_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
        return volt;
 }
 
-u16
+u32
 nvbios_volt_entry(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len)
 {
        u8  hdr, cnt;
-       u16 volt = nvbios_volt_table(bios, ver, &hdr, &cnt, len);
+       u32 volt = nvbios_volt_table(bios, ver, &hdr, &cnt, len);
        if (volt && idx < cnt) {
                volt = volt + hdr + (idx * *len);
                return volt;
        }
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_volt_entry_parse(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len,
                        struct nvbios_volt_entry *info)
 {
-       u16 volt = nvbios_volt_entry(bios, idx, ver, len);
+       u32 volt = nvbios_volt_entry(bios, idx, ver, len);
        memset(info, 0x00, sizeof(*info));
        switch (!!volt * *ver) {
        case 0x12:
index 5b5cc5cd08a9b6772d253a69d9d917998fdffa03..e344901cfdc7fcdbe02f9e0f2d32be0a1ef18a90 100644 (file)
@@ -189,7 +189,7 @@ nvkm_volt_parse_bios(struct nvkm_bios *bios, struct nvkm_volt *volt)
        struct nvbios_volt_entry ivid;
        struct nvbios_volt info;
        u8  ver, hdr, cnt, len;
-       u16 data;
+       u32 data;
        int i;
 
        data = nvbios_volt_parse(bios, &ver, &hdr, &cnt, &len, &info);