summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-05-12 14:01:10 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-24 07:55:41 -0400
commit5570194dc4d97a857b354b706949e27663ebeee0 (patch)
tree6d5f6bfcddb80af5643f5253b640e5d5dbd75045 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parent7d6d8a7ec3ccf9656194e862d4259076cb0a84e0 (diff)
gpu: nvgpu: per-chip GPCCS exception support
Adding support for ISR handling of GPCCS exceptions JIRA: GPUT19X-83 Change-Id: Ia5550aac8f368d8915f6c94aa22478cacbb2bddc Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: http://git-master/r/1480992 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c10
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;