diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c | 30 |
1 files changed, 1 insertions, 29 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c index fe85e113..ed61f16b 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_gr_gp10b.c | |||
@@ -26,34 +26,6 @@ | |||
26 | 26 | ||
27 | #include <nvgpu/hw/gp10b/hw_gr_gp10b.h> | 27 | #include <nvgpu/hw/gp10b/hw_gr_gp10b.h> |
28 | 28 | ||
29 | void vgpu_gr_gp10b_free_gr_ctx(struct gk20a *g, struct vm_gk20a *vm, | ||
30 | struct gr_ctx_desc *gr_ctx) | ||
31 | { | ||
32 | struct tegra_vgpu_cmd_msg msg = {0}; | ||
33 | struct tegra_vgpu_gr_ctx_params *p = &msg.params.gr_ctx; | ||
34 | int err; | ||
35 | |||
36 | gk20a_dbg_fn(""); | ||
37 | |||
38 | if (!gr_ctx || !gr_ctx->mem.gpu_va) | ||
39 | return; | ||
40 | |||
41 | msg.cmd = TEGRA_VGPU_CMD_GR_CTX_FREE; | ||
42 | msg.handle = vgpu_get_handle(g); | ||
43 | p->gr_ctx_handle = gr_ctx->virt_ctx; | ||
44 | err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg)); | ||
45 | WARN_ON(err || msg.ret); | ||
46 | |||
47 | __nvgpu_vm_free_va(vm, gr_ctx->mem.gpu_va, gmmu_page_size_kernel); | ||
48 | |||
49 | nvgpu_dma_unmap_free(vm, &gr_ctx->pagepool_ctxsw_buffer); | ||
50 | nvgpu_dma_unmap_free(vm, &gr_ctx->betacb_ctxsw_buffer); | ||
51 | nvgpu_dma_unmap_free(vm, &gr_ctx->spill_ctxsw_buffer); | ||
52 | nvgpu_dma_unmap_free(vm, &gr_ctx->preempt_ctxsw_buffer); | ||
53 | |||
54 | nvgpu_kfree(g, gr_ctx); | ||
55 | } | ||
56 | |||
57 | int vgpu_gr_gp10b_alloc_gr_ctx(struct gk20a *g, | 29 | int vgpu_gr_gp10b_alloc_gr_ctx(struct gk20a *g, |
58 | struct gr_ctx_desc **__gr_ctx, | 30 | struct gr_ctx_desc **__gr_ctx, |
59 | struct vm_gk20a *vm, | 31 | struct vm_gk20a *vm, |
@@ -107,7 +79,7 @@ int vgpu_gr_gp10b_alloc_gr_ctx(struct gk20a *g, | |||
107 | return err; | 79 | return err; |
108 | 80 | ||
109 | fail: | 81 | fail: |
110 | vgpu_gr_gp10b_free_gr_ctx(g, vm, gr_ctx); | 82 | vgpu_gr_free_gr_ctx(g, vm, gr_ctx); |
111 | return err; | 83 | return err; |
112 | } | 84 | } |
113 | 85 | ||