summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2017-12-05 18:48:22 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-12-10 13:36:39 -0500
commitfa1b18c171aba0f8bb674ccc8c60ae81213a16f6 (patch)
tree6c1204b817e052416da00400a713a66d0418cf1b /drivers/gpu/nvgpu/gk20a
parent7f0aa103eaba5f1ad9c928066c8abe69ef734626 (diff)
gpu: nvgpu: vgpu: add tsg release command
gv11b needs tsg release callback to release CE method buffer. Bug 2022929 Change-Id: I32e27a5fa49eb61b9c2fc72ea32034191a9be48e Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1611631 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Fleury <tfleury@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Aparna Das <aparnad@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/tsg_gk20a.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index c6bc129f..f577f93c 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -552,6 +552,7 @@ struct gpu_ops {
552 struct channel_gk20a *ch); 552 struct channel_gk20a *ch);
553 int (*tsg_unbind_channel)(struct channel_gk20a *ch); 553 int (*tsg_unbind_channel)(struct channel_gk20a *ch);
554 int (*tsg_open)(struct tsg_gk20a *tsg); 554 int (*tsg_open)(struct tsg_gk20a *tsg);
555 void (*tsg_release)(struct tsg_gk20a *tsg);
555 u32 (*eng_runlist_base_size)(void); 556 u32 (*eng_runlist_base_size)(void);
556 int (*init_engine_info)(struct fifo_gk20a *f); 557 int (*init_engine_info)(struct fifo_gk20a *f);
557 u32 (*runlist_entry_size)(void); 558 u32 (*runlist_entry_size)(void);
diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c
index 8906257f..4efcfda8 100644
--- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c
@@ -315,6 +315,9 @@ void gk20a_tsg_release(struct nvgpu_ref *ref)
315 struct gk20a *g = tsg->g; 315 struct gk20a *g = tsg->g;
316 struct gk20a_event_id_data *event_id_data, *event_id_data_temp; 316 struct gk20a_event_id_data *event_id_data, *event_id_data_temp;
317 317
318 if (g->ops.fifo.tsg_release)
319 g->ops.fifo.tsg_release(tsg);
320
318 if (tsg->tsg_gr_ctx) { 321 if (tsg->tsg_gr_ctx) {
319 gr_gk20a_free_tsg_gr_ctx(tsg); 322 gr_gk20a_free_tsg_gr_ctx(tsg);
320 tsg->tsg_gr_ctx = NULL; 323 tsg->tsg_gr_ctx = NULL;