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 <rizhao@nvidia.com>
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 <vbuzov@nvidia.com>
This commit is contained in:
Richard Zhao
2015-11-10 11:32:35 -08:00
committed by Vladislav Buzov
parent f25f21c231
commit 5a24e95fe6

View File

@@ -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;