summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c9
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index fa1b39fd..dee74fdd 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -317,6 +317,8 @@ struct gpu_ops {
317 u32 *hww_global_esr); 317 u32 *hww_global_esr);
318 int (*handle_tex_exception)(struct gk20a *g, u32 gpc, u32 tpc, 318 int (*handle_tex_exception)(struct gk20a *g, u32 gpc, u32 tpc,
319 bool *post_event); 319 bool *post_event);
320 int (*handle_tpc_mpc_exception)(struct gk20a *g,
321 u32 gpc, u32 tpc, bool *post_event);
320 int (*handle_gpc_gpccs_exception)(struct gk20a *g, u32 gpc, 322 int (*handle_gpc_gpccs_exception)(struct gk20a *g, u32 gpc,
321 u32 gpc_exception); 323 u32 gpc_exception);
322 int (*handle_gpc_gpcmmu_exception)(struct gk20a *g, u32 gpc, 324 int (*handle_gpc_gpcmmu_exception)(struct gk20a *g, u32 gpc,
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index d853c4f0..c935809e 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -5634,8 +5634,9 @@ static int gk20a_gr_handle_tpc_exception(struct gk20a *g, u32 gpc, u32 tpc,
5634 + offset); 5634 + offset);
5635 u32 sm_per_tpc = nvgpu_get_litter_value(g, GPU_LIT_NUM_SM_PER_TPC); 5635 u32 sm_per_tpc = nvgpu_get_litter_value(g, GPU_LIT_NUM_SM_PER_TPC);
5636 5636
5637 gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, ""); 5637 gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg,
5638 5638 "GPC%d TPC%d: pending exception 0x%x",
5639 gpc, tpc, tpc_exception);
5639 5640
5640 /* check if an sm exeption is pending */ 5641 /* check if an sm exeption is pending */
5641 if (gr_gpc0_tpc0_tpccs_tpc_exception_sm_v(tpc_exception) == 5642 if (gr_gpc0_tpc0_tpccs_tpc_exception_sm_v(tpc_exception) ==
@@ -5682,6 +5683,10 @@ static int gk20a_gr_handle_tpc_exception(struct gk20a *g, u32 gpc, u32 tpc,
5682 ret = g->ops.gr.handle_tex_exception(g, gpc, tpc, post_event); 5683 ret = g->ops.gr.handle_tex_exception(g, gpc, tpc, post_event);
5683 } 5684 }
5684 5685
5686 if (g->ops.gr.handle_tpc_mpc_exception)
5687 ret = g->ops.gr.handle_tpc_mpc_exception(g,
5688 gpc, tpc, post_event);
5689
5685 return ret; 5690 return ret;
5686} 5691}
5687 5692