gpu: nvgpu: always handle gr exception

Always handle gr exception regardless of whether the SM debugger is
attached or not.

Bug 1699676

Change-Id: If98ab6948c42d3fb1e4f02d54db12745485b0607
Signed-off-by: Adeel Raza <araza@nvidia.com>
Reviewed-on: http://git-master/r/1013164
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
Adeel Raza
2016-02-17 19:48:49 -08:00
committed by Terje Bergstrom
parent 21605d09a5
commit d3bd5adfca

View File

@@ -5571,16 +5571,10 @@ int gk20a_gr_isr(struct gk20a *g)
/* check if a gpc exception has occurred */
if (exception & gr_exception_gpc_m() && need_reset == 0) {
struct channel_gk20a *fault_ch;
bool post_event = false;
gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, "GPC exception pending");
/* if no sm debugger is present, clean up the channel */
if (!gk20a_gr_sm_debugger_attached(g)) {
gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg,
"SM debugger not attached, clearing interrupt");
need_reset |= -EFAULT;
} else {
bool post_event = false;
fault_ch = gk20a_fifo_channel_from_hw_chid(g,
isr_data.chid);
@@ -5590,9 +5584,8 @@ int gk20a_gr_isr(struct gk20a *g)
&post_event, fault_ch);
/* signal clients waiting on an event */
if (post_event && fault_ch)
if (gk20a_gr_sm_debugger_attached(g) && post_event && fault_ch)
gk20a_dbg_gpu_post_events(fault_ch);
}
if (need_reset && ch)
gk20a_set_error_notifier(ch,