summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gv11b/subctx_gv11b.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c b/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
index 4f64843c..ee89ecc2 100644
--- a/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/subctx_gv11b.c
@@ -53,7 +53,6 @@ int gv11b_alloc_subctx_header(struct channel_gk20a *c)
53{ 53{
54 struct ctx_header_desc *ctx = &c->ch_ctx.ctx_header; 54 struct ctx_header_desc *ctx = &c->ch_ctx.ctx_header;
55 struct gk20a *g = c->g; 55 struct gk20a *g = c->g;
56 struct gr_gk20a *gr = &g->gr;
57 int ret = 0; 56 int ret = 0;
58 57
59 nvgpu_log(g, gpu_dbg_fn, "gv11b_alloc_subctx_header"); 58 nvgpu_log(g, gpu_dbg_fn, "gv11b_alloc_subctx_header");
@@ -61,7 +60,7 @@ int gv11b_alloc_subctx_header(struct channel_gk20a *c)
61 if (ctx->mem.gpu_va == 0) { 60 if (ctx->mem.gpu_va == 0) {
62 ret = nvgpu_dma_alloc_flags_sys(g, 61 ret = nvgpu_dma_alloc_flags_sys(g,
63 NVGPU_DMA_NO_KERNEL_MAPPING, 62 NVGPU_DMA_NO_KERNEL_MAPPING,
64 gr->ctx_vars.golden_image_size, 63 ctxsw_prog_fecs_header_v(),
65 &ctx->mem); 64 &ctx->mem);
66 if (ret) { 65 if (ret) {
67 nvgpu_err(g, "failed to allocate sub ctx header"); 66 nvgpu_err(g, "failed to allocate sub ctx header");
@@ -124,6 +123,10 @@ int gv11b_update_subctx_header(struct channel_gk20a *c, u64 gpu_va)
124 ctxsw_prog_main_image_context_buffer_ptr_hi_o(), addr_hi); 123 ctxsw_prog_main_image_context_buffer_ptr_hi_o(), addr_hi);
125 nvgpu_mem_wr(g, gr_mem, 124 nvgpu_mem_wr(g, gr_mem,
126 ctxsw_prog_main_image_context_buffer_ptr_o(), addr_lo); 125 ctxsw_prog_main_image_context_buffer_ptr_o(), addr_lo);
126
127 nvgpu_mem_wr(g, gr_mem,
128 ctxsw_prog_main_image_ctl_o(),
129 ctxsw_prog_main_image_ctl_type_per_veid_header_v());
127 nvgpu_mem_end(g, gr_mem); 130 nvgpu_mem_end(g, gr_mem);
128 return ret; 131 return ret;
129} 132}