diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 9bd07894..1891d98f 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -6350,13 +6350,21 @@ static int gk20a_gr_handle_gpc_exception(struct gk20a *g, bool *post_event, | |||
6350 | } | 6350 | } |
6351 | 6351 | ||
6352 | /* Handle GCC exception */ | 6352 | /* Handle GCC exception */ |
6353 | if(gr_gpc0_gpccs_gpc_exception_gcc_v(gpc_exception) && | 6353 | if (gr_gpc0_gpccs_gpc_exception_gcc_v(gpc_exception) && |
6354 | g->ops.gr.handle_gcc_exception) { | 6354 | g->ops.gr.handle_gcc_exception) { |
6355 | int gcc_ret = 0; | 6355 | int gcc_ret = 0; |
6356 | gcc_ret = g->ops.gr.handle_gcc_exception(g, gpc, tpc, | 6356 | gcc_ret = g->ops.gr.handle_gcc_exception(g, gpc, tpc, |
6357 | post_event, fault_ch, hww_global_esr); | 6357 | post_event, fault_ch, hww_global_esr); |
6358 | ret = ret ? ret : gcc_ret; | 6358 | ret = ret ? ret : gcc_ret; |
6359 | } | 6359 | } |
6360 | |||
6361 | /* Handle GPCCS exceptions */ | ||
6362 | if (g->ops.gr.handle_gpc_gpccs_exception) { | ||
6363 | int ret_ecc = 0; | ||
6364 | ret_ecc = g->ops.gr.handle_gpc_gpccs_exception(g, gpc, | ||
6365 | gpc_exception); | ||
6366 | ret = ret ? ret : ret_ecc; | ||
6367 | } | ||
6360 | } | 6368 | } |
6361 | 6369 | ||
6362 | return ret; | 6370 | return ret; |