From 5d4319ad282d7d9e3c6ef79ea481ca81d61969f2 Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Fri, 12 Aug 2016 17:39:31 -0700 Subject: gpu: nvgpu: vgpu: add channel wdt support - avoid dump gr registers for vgpu - init wdt lock Bug 1776876 JIRA VFND-2151 Change-Id: I73293e0d23b614129c763cb22b09156a8e1432cc Signed-off-by: Richard Zhao Reviewed-on: http://git-master/r/1202256 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 3 ++- drivers/gpu/nvgpu/vgpu/gr_vgpu.c | 1 + drivers/gpu/nvgpu/vgpu/vgpu.c | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c index a57a3c74..5b06d35c 100644 --- a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c @@ -264,7 +264,8 @@ static int gk20a_gr_dump_regs(struct device *dev, struct gk20a_platform *platform = gk20a_get_platform(dev); struct gk20a *g = platform->g; - gr_gk20a_elpg_protected_call(g, g->ops.gr.dump_gr_regs(g, o)); + if (g->ops.gr.dump_gr_regs) + gr_gk20a_elpg_protected_call(g, g->ops.gr.dump_gr_regs(g, o)); return 0; } diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c index 87faa2f2..783b2f55 100644 --- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c @@ -1086,4 +1086,5 @@ void vgpu_init_gr_ops(struct gpu_ops *gops) gops->gr.set_sm_debug_mode = vgpu_gr_set_sm_debug_mode; gops->gr.update_smpc_ctxsw_mode = vgpu_gr_update_smpc_ctxsw_mode; gops->gr.update_hwpm_ctxsw_mode = vgpu_gr_update_hwpm_ctxsw_mode; + gops->gr.dump_gr_regs = NULL; } diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.c b/drivers/gpu/nvgpu/vgpu/vgpu.c index 125be58c..c548175a 100644 --- a/drivers/gpu/nvgpu/vgpu/vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/vgpu.c @@ -240,6 +240,7 @@ static int vgpu_init_support(struct platform_device *pdev) mutex_init(&g->dbg_sessions_lock); mutex_init(&g->client_lock); + mutex_init(&g->ch_wdt_lock); g->remove_support = vgpu_remove_support; return 0; -- cgit v1.2.2