From 942936bae027cb774caaf257c22eb42be32dc2ec Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Fri, 4 Dec 2015 15:25:46 -0800 Subject: gpu: nvgpu: vgpu: add set sm debug mode support JIRA VFND-1006 Bug 1594604 Change-Id: If6eb7ae22b5b0557faddd3d68deb791abb24bec4 Signed-off-by: Richard Zhao Reviewed-on: http://git-master/r/923233 (cherry picked from commit 9e14ca393c3044be702c50524a9ef3a2c3a6270c) Reviewed-on: http://git-master/r/841866 Reviewed-by: Aingara Paramakuru GVS: Gerrit_Virtual_Submit Reviewed-by: Vladislav Buzov --- drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'drivers/gpu/nvgpu/vgpu/gr_vgpu.c') diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index d8da6f3f..835351c4 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c @@ -926,6 +926,27 @@ int vgpu_gr_nonstall_isr(struct gk20a *g, return 0; } +static int vgpu_gr_set_sm_debug_mode(struct gk20a *g, + struct channel_gk20a *ch, u64 sms, bool enable) +{ + struct gk20a_platform *platform = gk20a_get_platform(g->dev); + struct tegra_vgpu_cmd_msg msg; + struct tegra_vgpu_sm_debug_mode *p = &msg.params.sm_debug_mode; + int err; + + gk20a_dbg_fn(""); + + msg.cmd = TEGRA_VGPU_CMD_SET_SM_DEBUG_MODE; + msg.handle = platform->virt_handle; + p->handle = ch->virt_ctx; + p->sms = sms; + p->enable = (u32)enable; + err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg)); + WARN_ON(err || msg.ret); + + return err ? err : msg.ret; +} + void vgpu_init_gr_ops(struct gpu_ops *gops) { gops->gr.free_channel_ctx = vgpu_gr_free_channel_ctx; @@ -944,4 +965,5 @@ void vgpu_init_gr_ops(struct gpu_ops *gops) gops->gr.zbc_set_table = vgpu_gr_add_zbc; gops->gr.zbc_query_table = vgpu_gr_query_zbc; gops->gr.init_ctx_state = vgpu_gr_init_ctx_state; + gops->gr.set_sm_debug_mode = vgpu_gr_set_sm_debug_mode; } -- cgit v1.2.2