diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c index 64d6542b..a01e43c7 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_ctx_gk20a.c | |||
@@ -356,6 +356,7 @@ static int gr_gk20a_init_ctx_vars_fw(struct gk20a *g, struct gr_gk20a *gr) | |||
356 | goto done; | 356 | goto done; |
357 | 357 | ||
358 | clean_up: | 358 | clean_up: |
359 | g->gr.ctx_vars.valid = false; | ||
359 | kfree(g->gr.ctx_vars.ucode.fecs.inst.l); | 360 | kfree(g->gr.ctx_vars.ucode.fecs.inst.l); |
360 | kfree(g->gr.ctx_vars.ucode.fecs.data.l); | 361 | kfree(g->gr.ctx_vars.ucode.fecs.data.l); |
361 | kfree(g->gr.ctx_vars.ucode.gpccs.inst.l); | 362 | kfree(g->gr.ctx_vars.ucode.gpccs.inst.l); |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 5317bd87..aa42e1dd 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -3140,6 +3140,7 @@ static void gk20a_remove_gr_support(struct gr_gk20a *gr) | |||
3140 | gr->gpc_skip_mask = NULL; | 3140 | gr->gpc_skip_mask = NULL; |
3141 | gr->map_tiles = NULL; | 3141 | gr->map_tiles = NULL; |
3142 | 3142 | ||
3143 | gr->ctx_vars.valid = false; | ||
3143 | kfree(gr->ctx_vars.ucode.fecs.inst.l); | 3144 | kfree(gr->ctx_vars.ucode.fecs.inst.l); |
3144 | kfree(gr->ctx_vars.ucode.fecs.data.l); | 3145 | kfree(gr->ctx_vars.ucode.fecs.data.l); |
3145 | kfree(gr->ctx_vars.ucode.gpccs.inst.l); | 3146 | kfree(gr->ctx_vars.ucode.gpccs.inst.l); |
@@ -3156,6 +3157,14 @@ static void gk20a_remove_gr_support(struct gr_gk20a *gr) | |||
3156 | kfree(gr->ctx_vars.ctxsw_regs.pm_sys.l); | 3157 | kfree(gr->ctx_vars.ctxsw_regs.pm_sys.l); |
3157 | kfree(gr->ctx_vars.ctxsw_regs.pm_gpc.l); | 3158 | kfree(gr->ctx_vars.ctxsw_regs.pm_gpc.l); |
3158 | kfree(gr->ctx_vars.ctxsw_regs.pm_tpc.l); | 3159 | kfree(gr->ctx_vars.ctxsw_regs.pm_tpc.l); |
3160 | kfree(gr->ctx_vars.ctxsw_regs.pm_ppc.l); | ||
3161 | kfree(gr->ctx_vars.ctxsw_regs.perf_sys.l); | ||
3162 | kfree(gr->ctx_vars.ctxsw_regs.fbp.l); | ||
3163 | kfree(gr->ctx_vars.ctxsw_regs.perf_gpc.l); | ||
3164 | kfree(gr->ctx_vars.ctxsw_regs.fbp_router.l); | ||
3165 | kfree(gr->ctx_vars.ctxsw_regs.gpc_router.l); | ||
3166 | kfree(gr->ctx_vars.ctxsw_regs.pm_ltc.l); | ||
3167 | kfree(gr->ctx_vars.ctxsw_regs.pm_fbpa.l); | ||
3159 | 3168 | ||
3160 | kfree(gr->ctx_vars.local_golden_image); | 3169 | kfree(gr->ctx_vars.local_golden_image); |
3161 | gr->ctx_vars.local_golden_image = NULL; | 3170 | gr->ctx_vars.local_golden_image = NULL; |