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

index 2f0e0c8e83beb5b5fec208c3572f2c20aae2382d..76fe7d50a1ce901f09be4b9b87f9331b441ce0ee 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef __NVBIOS_CSTEP_H__
 #define __NVBIOS_CSTEP_H__
-u16 nvbios_cstepTe(struct nvkm_bios *,
+u32 nvbios_cstepTe(struct nvkm_bios *,
                   u8 *ver, u8 *hdr, u8 *cnt, u8 *len, u8 *xnr, u8 *xsz);
 
 struct nvbios_cstepE {
@@ -8,10 +8,10 @@ struct nvbios_cstepE {
        u8  index;
 };
 
-u16 nvbios_cstepEe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr);
-u16 nvbios_cstepEp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr,
+u32 nvbios_cstepEe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr);
+u32 nvbios_cstepEp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr,
                   struct nvbios_cstepE *);
-u16 nvbios_cstepEm(struct nvkm_bios *, u8 pstate, u8 *ver, u8 *hdr,
+u32 nvbios_cstepEm(struct nvkm_bios *, u8 pstate, u8 *ver, u8 *hdr,
                   struct nvbios_cstepE *);
 
 struct nvbios_cstepX {
@@ -20,7 +20,7 @@ struct nvbios_cstepX {
        u8  voltage;
 };
 
-u16 nvbios_cstepXe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr);
-u16 nvbios_cstepXp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr,
+u32 nvbios_cstepXe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr);
+u32 nvbios_cstepXp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr,
                   struct nvbios_cstepX *);
 #endif
index 32e01624a162a9ad271c84d7ff76318cf1594ffa..5063382d8a6c5f988deec4d6dd5474bcc4cbde3d 100644 (file)
 #include <subdev/bios/bit.h>
 #include <subdev/bios/cstep.h>
 
-u16
+u32
 nvbios_cstepTe(struct nvkm_bios *bios,
               u8 *ver, u8 *hdr, u8 *cnt, u8 *len, u8 *xnr, u8 *xsz)
 {
        struct bit_entry bit_P;
-       u16 cstep = 0x0000;
+       u32 cstep = 0;
 
        if (!bit_entry(bios, 'P', &bit_P)) {
                if (bit_P.version == 2)
-                       cstep = nvbios_rd16(bios, bit_P.offset + 0x34);
+                       cstep = nvbios_rd32(bios, bit_P.offset + 0x34);
 
                if (cstep) {
                        *ver = nvbios_rd08(bios, cstep + 0);
@@ -52,27 +52,27 @@ nvbios_cstepTe(struct nvkm_bios *bios,
                }
        }
 
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_cstepEe(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr)
 {
        u8  cnt, len, xnr, xsz;
-       u16 data = nvbios_cstepTe(bios, ver, hdr, &cnt, &len, &xnr, &xsz);
+       u32 data = nvbios_cstepTe(bios, ver, hdr, &cnt, &len, &xnr, &xsz);
        if (data && idx < cnt) {
                data = data + *hdr + (idx * len);
                *hdr = len;
                return data;
        }
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_cstepEp(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr,
               struct nvbios_cstepE *info)
 {
-       u16 data = nvbios_cstepEe(bios, idx, ver, hdr);
+       u32 data = nvbios_cstepEe(bios, idx, ver, hdr);
        memset(info, 0x00, sizeof(*info));
        if (data) {
                info->pstate = (nvbios_rd16(bios, data + 0x00) & 0x01e0) >> 5;
@@ -81,7 +81,7 @@ nvbios_cstepEp(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr,
        return data;
 }
 
-u16
+u32
 nvbios_cstepEm(struct nvkm_bios *bios, u8 pstate, u8 *ver, u8 *hdr,
               struct nvbios_cstepE *info)
 {
@@ -93,24 +93,24 @@ nvbios_cstepEm(struct nvkm_bios *bios, u8 pstate, u8 *ver, u8 *hdr,
        return data;
 }
 
-u16
+u32
 nvbios_cstepXe(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr)
 {
        u8  cnt, len, xnr, xsz;
-       u16 data = nvbios_cstepTe(bios, ver, hdr, &cnt, &len, &xnr, &xsz);
+       u32 data = nvbios_cstepTe(bios, ver, hdr, &cnt, &len, &xnr, &xsz);
        if (data && idx < xnr) {
                data = data + *hdr + (cnt * len) + (idx * xsz);
                *hdr = xsz;
                return data;
        }
-       return 0x0000;
+       return 0;
 }
 
-u16
+u32
 nvbios_cstepXp(struct nvkm_bios *bios, int idx, u8 *ver, u8 *hdr,
               struct nvbios_cstepX *info)
 {
-       u16 data = nvbios_cstepXe(bios, idx, ver, hdr);
+       u32 data = nvbios_cstepXe(bios, idx, ver, hdr);
        memset(info, 0x00, sizeof(*info));
        if (data) {
                info->freq    = nvbios_rd16(bios, data + 0x00) * 1000;
index f43970156558a87e145a3a7f53ac11b1ae8a0cf0..e4c8d310d8707c4411a5446fc23e74840e80a8dc 100644 (file)
@@ -229,7 +229,7 @@ nvkm_cstate_new(struct nvkm_clk *clk, int idx, struct nvkm_pstate *pstate)
        struct nvkm_cstate *cstate = NULL;
        struct nvbios_cstepX cstepX;
        u8  ver, hdr;
-       u16 data;
+       u32 data;
 
        data = nvbios_cstepXp(bios, idx, &ver, &hdr, &cstepX);
        if (!data)
@@ -408,7 +408,7 @@ nvkm_pstate_new(struct nvkm_clk *clk, int idx)
        struct nvbios_cstepE cstepE;
        struct nvbios_perfE perfE;
        u8  ver, hdr, cnt, len;
-       u16 data;
+       u32 data;
 
        data = nvbios_perfEp(bios, idx, &ver, &hdr, &cnt, &len, &perfE);
        if (!data)