diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index f0e89f8a..7e37a965 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5285,6 +5285,15 @@ int gr_gk20a_handle_sm_exception(struct gk20a *g, u32 gpc, u32 tpc, | |||
5285 | warp_esr = gk20a_readl(g, gr_gpc0_tpc0_sm_hww_warp_esr_r() + offset); | 5285 | warp_esr = gk20a_readl(g, gr_gpc0_tpc0_sm_hww_warp_esr_r() + offset); |
5286 | warp_esr = g->ops.gr.mask_hww_warp_esr(warp_esr); | 5286 | warp_esr = g->ops.gr.mask_hww_warp_esr(warp_esr); |
5287 | 5287 | ||
5288 | if (!sm_debugger_attached) { | ||
5289 | gk20a_err(dev_from_gk20a(g), "sm hww global %08x warp %08x\n", | ||
5290 | global_esr, warp_esr); | ||
5291 | return -EFAULT; | ||
5292 | } | ||
5293 | |||
5294 | gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, | ||
5295 | "sm hww global %08x warp %08x", global_esr, warp_esr); | ||
5296 | |||
5288 | if (g->ops.gr.pre_process_sm_exception) { | 5297 | if (g->ops.gr.pre_process_sm_exception) { |
5289 | ret = g->ops.gr.pre_process_sm_exception(g, gpc, tpc, | 5298 | ret = g->ops.gr.pre_process_sm_exception(g, gpc, tpc, |
5290 | global_esr, warp_esr, | 5299 | global_esr, warp_esr, |