diff options
author | Richard Zhao <rizhao@nvidia.com> | 2017-12-05 18:48:22 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-12-10 13:36:39 -0500 |
commit | fa1b18c171aba0f8bb674ccc8c60ae81213a16f6 (patch) | |
tree | 6c1204b817e052416da00400a713a66d0418cf1b /drivers/gpu/nvgpu/gk20a | |
parent | 7f0aa103eaba5f1ad9c928066c8abe69ef734626 (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.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/tsg_gk20a.c | 3 |
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; |