drm/nouveau/bios/vmap: pointers are 32-bit
authorBen Skeggs <bskeggs@redhat.com>
Fri, 18 Nov 2016 01:22:33 +0000 (11:22 +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/vmap.h
drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c
drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c

index 8fa1294..bea31cd 100644 (file)
@@ -6,8 +6,8 @@ struct nvbios_vmap {
        u8  max2;
 };
 
-u16 nvbios_vmap_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
-u16 nvbios_vmap_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
+u32 nvbios_vmap_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
+u32 nvbios_vmap_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
                      struct nvbios_vmap *);
 
 struct nvbios_vmap_entry {
@@ -18,7 +18,7 @@ struct nvbios_vmap_entry {
        s32 arg[6];
 };
 
-u16 nvbios_vmap_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
-u16 nvbios_vmap_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
+u32 nvbios_vmap_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
+u32 nvbios_vmap_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
                            struct nvbios_vmap_entry *);
 #endif
index 32bd8b1..c228ca1 100644 (file)
 #include <subdev/bios/bit.h>
 #include <subdev/bios/vmap.h>
 
-u16
+u32
 nvbios_vmap_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
 {
        struct bit_entry bit_P;
-       u16 vmap = 0x0000;
+       u32 vmap = 0;
 
        if (!bit_entry(bios, 'P', &bit_P)) {
                if (bit_P.version == 2) {
-                       vmap = nvbios_rd16(bios, bit_P.offset + 0x20);
+                       vmap = nvbios_rd32(bios, bit_P.offset + 0x20);
                        if (vmap) {
                                *ver = nvbios_rd08(bios, vmap + 0);
                                switch (*ver) {
@@ -50,14 +50,14 @@ nvbios_vmap_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
                }
        }
 
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_vmap_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
                  struct nvbios_vmap *info)
 {
-       u16 vmap = nvbios_vmap_table(bios, ver, hdr, cnt, len);
+       u32 vmap = nvbios_vmap_table(bios, ver, hdr, cnt, len);
        memset(info, 0x00, sizeof(*info));
        switch (!!vmap * *ver) {
        case 0x10:
@@ -77,23 +77,23 @@ nvbios_vmap_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
        return vmap;
 }
 
-u16
+u32
 nvbios_vmap_entry(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len)
 {
        u8  hdr, cnt;
-       u16 vmap = nvbios_vmap_table(bios, ver, &hdr, &cnt, len);
+       u32 vmap = nvbios_vmap_table(bios, ver, &hdr, &cnt, len);
        if (vmap && idx < cnt) {
                vmap = vmap + hdr + (idx * *len);
                return vmap;
        }
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_vmap_entry_parse(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len,
                        struct nvbios_vmap_entry *info)
 {
-       u16 vmap = nvbios_vmap_entry(bios, idx, ver, len);
+       u32 vmap = nvbios_vmap_entry(bios, idx, ver, len);
        memset(info, 0x00, sizeof(*info));
        switch (!!vmap * *ver) {
        case 0x10:
index e8569b0..5b5cc5c 100644 (file)
@@ -84,7 +84,7 @@ nvkm_volt_map_min(struct nvkm_volt *volt, u8 id)
        struct nvkm_bios *bios = volt->subdev.device->bios;
        struct nvbios_vmap_entry info;
        u8  ver, len;
-       u16 vmap;
+       u32 vmap;
 
        vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info);
        if (vmap) {
@@ -106,7 +106,7 @@ nvkm_volt_map(struct nvkm_volt *volt, u8 id, u8 temp)
        struct nvkm_bios *bios = volt->subdev.device->bios;
        struct nvbios_vmap_entry info;
        u8  ver, len;
-       u16 vmap;
+       u32 vmap;
 
        vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info);
        if (vmap) {