summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 3a166e06..8d65f90a 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -5304,10 +5304,18 @@ int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch,
5304 nvgpu_err(g, "fecs watchdog triggered for channel %u, " 5304 nvgpu_err(g, "fecs watchdog triggered for channel %u, "
5305 "cannot ctxsw anymore !!", isr_data->chid); 5305 "cannot ctxsw anymore !!", isr_data->chid);
5306 gk20a_fecs_dump_falcon_stats(g); 5306 gk20a_fecs_dump_falcon_stats(g);
5307 } else if ((gr_fecs_intr &
5308 gr_fecs_host_int_status_ctxsw_intr_f(CTXSW_INTR0)) != 0U) {
5309 u32 mailbox_value = gk20a_readl(g, gr_fecs_ctxsw_mailbox_r(6));
5310
5311 nvgpu_err(g, "ctxsw intr0 set by ucode, error_code: 0x%08x",
5312 mailbox_value);
5313 ret = -1;
5307 } else { 5314 } else {
5308 nvgpu_err(g, 5315 nvgpu_err(g,
5309 "fecs error interrupt 0x%08x for channel %u", 5316 "unhandled fecs error interrupt 0x%08x for channel %u",
5310 gr_fecs_intr, isr_data->chid); 5317 gr_fecs_intr, ch->chid);
5318 gk20a_fecs_dump_falcon_stats(g);
5311 } 5319 }
5312 5320
5313 gk20a_writel(g, gr_fecs_host_int_clear_r(), gr_fecs_intr); 5321 gk20a_writel(g, gr_fecs_host_int_clear_r(), gr_fecs_intr);