diff options
Diffstat (limited to 'drivers/gpu/nvgpu/perf')
-rw-r--r-- | drivers/gpu/nvgpu/perf/vfe_equ.c | 18 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/perf/vfe_var.c | 27 |
2 files changed, 24 insertions, 21 deletions
diff --git a/drivers/gpu/nvgpu/perf/vfe_equ.c b/drivers/gpu/nvgpu/perf/vfe_equ.c index 6630fb21..78a7c57c 100644 --- a/drivers/gpu/nvgpu/perf/vfe_equ.c +++ b/drivers/gpu/nvgpu/perf/vfe_equ.c | |||
@@ -150,14 +150,16 @@ static u32 devinit_get_vfe_equ_table(struct gk20a *g, | |||
150 | 150 | ||
151 | gk20a_dbg_info(""); | 151 | gk20a_dbg_info(""); |
152 | 152 | ||
153 | if (g->ops.bios.get_perf_table_ptrs) { | 153 | if (!g->ops.bios.get_perf_table_ptrs) |
154 | vfeequs_tbl_ptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, | 154 | return -EINVAL; |
155 | g->bios.perf_token, | 155 | |
156 | CONTINUOUS_VIRTUAL_BINNING_TABLE); | 156 | vfeequs_tbl_ptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, |
157 | if (vfeequs_tbl_ptr == NULL) { | 157 | g->bios.perf_token, |
158 | status = -EINVAL; | 158 | CONTINUOUS_VIRTUAL_BINNING_TABLE); |
159 | goto done; | 159 | |
160 | } | 160 | if (vfeequs_tbl_ptr == NULL) { |
161 | status = -EINVAL; | ||
162 | goto done; | ||
161 | } | 163 | } |
162 | 164 | ||
163 | memcpy(&vfeequs_tbl_header, vfeequs_tbl_ptr, | 165 | memcpy(&vfeequs_tbl_header, vfeequs_tbl_ptr, |
diff --git a/drivers/gpu/nvgpu/perf/vfe_var.c b/drivers/gpu/nvgpu/perf/vfe_var.c index 4f8dc83b..f4c3f276 100644 --- a/drivers/gpu/nvgpu/perf/vfe_var.c +++ b/drivers/gpu/nvgpu/perf/vfe_var.c | |||
@@ -182,20 +182,21 @@ u32 dev_init_get_vfield_info(struct gk20a *g, | |||
182 | u8 *psegmentcount = NULL; | 182 | u8 *psegmentcount = NULL; |
183 | u32 status = 0; | 183 | u32 status = 0; |
184 | 184 | ||
185 | if (g->ops.bios.get_perf_table_ptrs) { | 185 | if (!g->ops.bios.get_perf_table_ptrs) |
186 | vfieldregtableptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, | 186 | return -EINVAL; |
187 | g->bios.virt_token, VP_FIELD_REGISTER); | ||
188 | if (vfieldregtableptr == NULL) { | ||
189 | status = -EINVAL; | ||
190 | goto done; | ||
191 | } | ||
192 | 187 | ||
193 | vfieldtableptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, | 188 | vfieldregtableptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, |
194 | g->bios.virt_token, VP_FIELD_TABLE); | 189 | g->bios.virt_token, VP_FIELD_REGISTER); |
195 | if (vfieldtableptr == NULL) { | 190 | if (vfieldregtableptr == NULL) { |
196 | status = -EINVAL; | 191 | status = -EINVAL; |
197 | goto done; | 192 | goto done; |
198 | } | 193 | } |
194 | |||
195 | vfieldtableptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g, | ||
196 | g->bios.virt_token, VP_FIELD_TABLE); | ||
197 | if (vfieldtableptr == NULL) { | ||
198 | status = -EINVAL; | ||
199 | goto done; | ||
199 | } | 200 | } |
200 | 201 | ||
201 | memcpy(&vregheader, vfieldregtableptr, VFIELD_REG_HEADER_SIZE); | 202 | memcpy(&vregheader, vfieldregtableptr, VFIELD_REG_HEADER_SIZE); |