summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c
index 5029db8d..81ac341f 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c
@@ -336,6 +336,34 @@ static int gr_gk20a_init_ctx_vars_fw(struct gk20a *g, struct gr_gk20a *gr)
336 if (err) 336 if (err)
337 goto clean_up; 337 goto clean_up;
338 break; 338 break;
339 case NETLIST_REGIONID_NVPERF_SYS_ROUTER:
340 gk20a_dbg_info("NETLIST_REGIONID_NVPERF_SYS_ROUTER");
341 err = gr_gk20a_alloc_load_netlist_aiv(
342 src, size, &g->gr.ctx_vars.ctxsw_regs.perf_sys_router);
343 if (err)
344 goto clean_up;
345 break;
346 case NETLIST_REGIONID_NVPERF_PMA:
347 gk20a_dbg_info("NETLIST_REGIONID_NVPERF_PMA");
348 err = gr_gk20a_alloc_load_netlist_aiv(
349 src, size, &g->gr.ctx_vars.ctxsw_regs.perf_pma);
350 if (err)
351 goto clean_up;
352 break;
353 case NETLIST_REGIONID_CTXREG_PMROP:
354 gk20a_dbg_info("NETLIST_REGIONID_CTXREG_PMROP");
355 err = gr_gk20a_alloc_load_netlist_aiv(
356 src, size, &g->gr.ctx_vars.ctxsw_regs.pm_rop);
357 if (err)
358 goto clean_up;
359 break;
360 case NETLIST_REGIONID_CTXREG_PMUCGPC:
361 gk20a_dbg_info("NETLIST_REGIONID_CTXREG_PMUCGPC");
362 err = gr_gk20a_alloc_load_netlist_aiv(
363 src, size, &g->gr.ctx_vars.ctxsw_regs.pm_ucgpc);
364 if (err)
365 goto clean_up;
366 break;
339 default: 367 default:
340 gk20a_dbg_info("unrecognized region %d skipped", i); 368 gk20a_dbg_info("unrecognized region %d skipped", i);
341 break; 369 break;
@@ -381,6 +409,11 @@ clean_up:
381 kfree(g->gr.ctx_vars.ctxsw_regs.gpc_router.l); 409 kfree(g->gr.ctx_vars.ctxsw_regs.gpc_router.l);
382 kfree(g->gr.ctx_vars.ctxsw_regs.pm_ltc.l); 410 kfree(g->gr.ctx_vars.ctxsw_regs.pm_ltc.l);
383 kfree(g->gr.ctx_vars.ctxsw_regs.pm_fbpa.l); 411 kfree(g->gr.ctx_vars.ctxsw_regs.pm_fbpa.l);
412 kfree(g->gr.ctx_vars.ctxsw_regs.pm_fbpa.l);
413 kfree(g->gr.ctx_vars.ctxsw_regs.perf_sys_router.l);
414 kfree(g->gr.ctx_vars.ctxsw_regs.perf_pma.l);
415 kfree(g->gr.ctx_vars.ctxsw_regs.pm_rop.l);
416 kfree(g->gr.ctx_vars.ctxsw_regs.pm_ucgpc.l);
384 release_firmware(netlist_fw); 417 release_firmware(netlist_fw);
385 err = -ENOENT; 418 err = -ENOENT;
386 } 419 }