From 5a24e95fe605a2e7ec4d1a126c9bffd64bd77590 Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Tue, 10 Nov 2015 11:32:35 -0800 Subject: gpu: nvgpu: vgpu: add tsg initialization It fixed kernel dump when run CUDA L0 test. Bug 1594604 Change-Id: Ic986b34629052e915f4ccc5a5b6df198afaf2ff9 Signed-off-by: Richard Zhao Reviewed-on: http://git-master/r/831391 (cherry picked from commit 43d4ba4d6ffc6043e8425dc40967975afe3a95f1) Reviewed-on: http://git-master/r/832416 GVS: Gerrit_Virtual_Submit Reviewed-by: Vladislav Buzov --- drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/vgpu/fifo_vgpu.c') diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c index a2ecd864..664f8c5b 100644 --- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c @@ -271,10 +271,12 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g) f->channel = kzalloc(f->num_channels * sizeof(*f->channel), GFP_KERNEL); + f->tsg = kzalloc(f->num_channels * sizeof(*f->tsg), + GFP_KERNEL); f->engine_info = kzalloc(f->max_engines * sizeof(*f->engine_info), GFP_KERNEL); - if (!(f->channel && f->engine_info)) { + if (!(f->channel && f->tsg && f->engine_info)) { err = -ENOMEM; goto clean_up; } @@ -296,7 +298,9 @@ static int vgpu_init_fifo_setup_sw(struct gk20a *g) f->userd.gpu_va + chid * f->userd_entry_size; gk20a_init_channel_support(g, chid); + gk20a_init_tsg_support(g, chid); } + mutex_init(&f->tsg_inuse_mutex); f->deferred_reset_pending = false; mutex_init(&f->deferred_reset_mutex); @@ -315,6 +319,8 @@ clean_up: kfree(f->channel); f->channel = NULL; + kfree(f->tsg); + f->tsg = NULL; kfree(f->engine_info); f->engine_info = NULL; -- cgit v1.2.2