From fa1b18c171aba0f8bb674ccc8c60ae81213a16f6 Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Tue, 5 Dec 2017 15:48:22 -0800 Subject: 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 Reviewed-on: https://git-master.nvidia.com/r/1611631 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Thomas Fleury GVS: Gerrit_Virtual_Submit Reviewed-by: Aparna Das Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c') diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c index c40e6f90..06f52177 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/tsg_vgpu.c @@ -28,7 +28,7 @@ int vgpu_tsg_open(struct tsg_gk20a *tsg) { struct tegra_vgpu_cmd_msg msg = {}; - struct tegra_vgpu_tsg_open_params *p = + struct tegra_vgpu_tsg_open_rel_params *p = &msg.params.tsg_open; int err; @@ -47,6 +47,26 @@ int vgpu_tsg_open(struct tsg_gk20a *tsg) return err; } +void vgpu_tsg_release(struct tsg_gk20a *tsg) +{ + struct tegra_vgpu_cmd_msg msg = {}; + struct tegra_vgpu_tsg_open_rel_params *p = + &msg.params.tsg_release; + int err; + + gk20a_dbg_fn(""); + + msg.cmd = TEGRA_VGPU_CMD_TSG_RELEASE; + msg.handle = vgpu_get_handle(tsg->g); + p->tsg_id = tsg->tsgid; + err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg)); + err = err ? err : msg.ret; + if (err) { + nvgpu_err(tsg->g, + "vgpu_tsg_release failed, tsgid %d", tsg->tsgid); + } +} + int vgpu_enable_tsg(struct tsg_gk20a *tsg) { struct gk20a *g = tsg->g; -- cgit v1.2.2