diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2016-11-17 20:22:33 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2016-11-28 00:39:35 -0500 |
commit | 60fb7064e495bd70dd2151b18536ed969806b98e (patch) | |
tree | a27ed0f5be06e7d1f3d51f83ce6778f27a068c1b | |
parent | 1957d3d5682337e69bc117a2a873b9dfb730baed (diff) |
drm/nouveau/bios/vmap: pointers are 32-bit
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c | 4 |
3 files changed, 17 insertions, 17 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h index 8fa1294c27b7..bea31cdd1dd1 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h | |||
@@ -6,8 +6,8 @@ struct nvbios_vmap { | |||
6 | u8 max2; | 6 | u8 max2; |
7 | }; | 7 | }; |
8 | 8 | ||
9 | u16 nvbios_vmap_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); | 9 | u32 nvbios_vmap_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); |
10 | u16 nvbios_vmap_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, | 10 | u32 nvbios_vmap_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, |
11 | struct nvbios_vmap *); | 11 | struct nvbios_vmap *); |
12 | 12 | ||
13 | struct nvbios_vmap_entry { | 13 | struct nvbios_vmap_entry { |
@@ -18,7 +18,7 @@ struct nvbios_vmap_entry { | |||
18 | s32 arg[6]; | 18 | s32 arg[6]; |
19 | }; | 19 | }; |
20 | 20 | ||
21 | u16 nvbios_vmap_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len); | 21 | u32 nvbios_vmap_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len); |
22 | u16 nvbios_vmap_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len, | 22 | u32 nvbios_vmap_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len, |
23 | struct nvbios_vmap_entry *); | 23 | struct nvbios_vmap_entry *); |
24 | #endif | 24 | #endif |
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c index 32bd8b1d154f..c228ca15fa3b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c | |||
@@ -25,15 +25,15 @@ | |||
25 | #include <subdev/bios/bit.h> | 25 | #include <subdev/bios/bit.h> |
26 | #include <subdev/bios/vmap.h> | 26 | #include <subdev/bios/vmap.h> |
27 | 27 | ||
28 | u16 | 28 | u32 |
29 | nvbios_vmap_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len) | 29 | nvbios_vmap_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len) |
30 | { | 30 | { |
31 | struct bit_entry bit_P; | 31 | struct bit_entry bit_P; |
32 | u16 vmap = 0x0000; | 32 | u32 vmap = 0; |
33 | 33 | ||
34 | if (!bit_entry(bios, 'P', &bit_P)) { | 34 | if (!bit_entry(bios, 'P', &bit_P)) { |
35 | if (bit_P.version == 2) { | 35 | if (bit_P.version == 2) { |
36 | vmap = nvbios_rd16(bios, bit_P.offset + 0x20); | 36 | vmap = nvbios_rd32(bios, bit_P.offset + 0x20); |
37 | if (vmap) { | 37 | if (vmap) { |
38 | *ver = nvbios_rd08(bios, vmap + 0); | 38 | *ver = nvbios_rd08(bios, vmap + 0); |
39 | switch (*ver) { | 39 | switch (*ver) { |
@@ -50,14 +50,14 @@ nvbios_vmap_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len) | |||
50 | } | 50 | } |
51 | } | 51 | } |
52 | 52 | ||
53 | return 0x0000; | 53 | return 0; |
54 | } | 54 | } |
55 | 55 | ||
56 | u16 | 56 | u32 |
57 | nvbios_vmap_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, | 57 | nvbios_vmap_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, |
58 | struct nvbios_vmap *info) | 58 | struct nvbios_vmap *info) |
59 | { | 59 | { |
60 | u16 vmap = nvbios_vmap_table(bios, ver, hdr, cnt, len); | 60 | u32 vmap = nvbios_vmap_table(bios, ver, hdr, cnt, len); |
61 | memset(info, 0x00, sizeof(*info)); | 61 | memset(info, 0x00, sizeof(*info)); |
62 | switch (!!vmap * *ver) { | 62 | switch (!!vmap * *ver) { |
63 | case 0x10: | 63 | case 0x10: |
@@ -77,23 +77,23 @@ nvbios_vmap_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len, | |||
77 | return vmap; | 77 | return vmap; |
78 | } | 78 | } |
79 | 79 | ||
80 | u16 | 80 | u32 |
81 | nvbios_vmap_entry(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len) | 81 | nvbios_vmap_entry(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len) |
82 | { | 82 | { |
83 | u8 hdr, cnt; | 83 | u8 hdr, cnt; |
84 | u16 vmap = nvbios_vmap_table(bios, ver, &hdr, &cnt, len); | 84 | u32 vmap = nvbios_vmap_table(bios, ver, &hdr, &cnt, len); |
85 | if (vmap && idx < cnt) { | 85 | if (vmap && idx < cnt) { |
86 | vmap = vmap + hdr + (idx * *len); | 86 | vmap = vmap + hdr + (idx * *len); |
87 | return vmap; | 87 | return vmap; |
88 | } | 88 | } |
89 | return 0x0000; | 89 | return 0; |
90 | } | 90 | } |
91 | 91 | ||
92 | u16 | 92 | u32 |
93 | nvbios_vmap_entry_parse(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len, | 93 | nvbios_vmap_entry_parse(struct nvkm_bios *bios, int idx, u8 *ver, u8 *len, |
94 | struct nvbios_vmap_entry *info) | 94 | struct nvbios_vmap_entry *info) |
95 | { | 95 | { |
96 | u16 vmap = nvbios_vmap_entry(bios, idx, ver, len); | 96 | u32 vmap = nvbios_vmap_entry(bios, idx, ver, len); |
97 | memset(info, 0x00, sizeof(*info)); | 97 | memset(info, 0x00, sizeof(*info)); |
98 | switch (!!vmap * *ver) { | 98 | switch (!!vmap * *ver) { |
99 | case 0x10: | 99 | case 0x10: |
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c index e8569b04b55d..5b5cc5cd08a9 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c | |||
@@ -84,7 +84,7 @@ nvkm_volt_map_min(struct nvkm_volt *volt, u8 id) | |||
84 | struct nvkm_bios *bios = volt->subdev.device->bios; | 84 | struct nvkm_bios *bios = volt->subdev.device->bios; |
85 | struct nvbios_vmap_entry info; | 85 | struct nvbios_vmap_entry info; |
86 | u8 ver, len; | 86 | u8 ver, len; |
87 | u16 vmap; | 87 | u32 vmap; |
88 | 88 | ||
89 | vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info); | 89 | vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info); |
90 | if (vmap) { | 90 | if (vmap) { |
@@ -106,7 +106,7 @@ nvkm_volt_map(struct nvkm_volt *volt, u8 id, u8 temp) | |||
106 | struct nvkm_bios *bios = volt->subdev.device->bios; | 106 | struct nvkm_bios *bios = volt->subdev.device->bios; |
107 | struct nvbios_vmap_entry info; | 107 | struct nvbios_vmap_entry info; |
108 | u8 ver, len; | 108 | u8 ver, len; |
109 | u16 vmap; | 109 | u32 vmap; |
110 | 110 | ||
111 | vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info); | 111 | vmap = nvbios_vmap_entry_parse(bios, id, &ver, &len, &info); |
112 | if (vmap) { | 112 | if (vmap) { |