summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/perf/vfe_var.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/perf/vfe_var.c')
-rw-r--r--drivers/gpu/nvgpu/perf/vfe_var.c27
1 files changed, 14 insertions, 13 deletions
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);