diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 8d65f90a..4541134f 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5308,9 +5308,20 @@ int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch, | |||
5308 | gr_fecs_host_int_status_ctxsw_intr_f(CTXSW_INTR0)) != 0U) { | 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)); | 5309 | u32 mailbox_value = gk20a_readl(g, gr_fecs_ctxsw_mailbox_r(6)); |
5310 | 5310 | ||
5311 | nvgpu_err(g, "ctxsw intr0 set by ucode, error_code: 0x%08x", | 5311 | if (mailbox_value == MAILBOX_VALUE_TIMESTAMP_BUFFER_FULL) { |
5312 | nvgpu_info(g, "ctxsw intr0 set by ucode, " | ||
5313 | "timestamp buffer full"); | ||
5314 | #ifdef CONFIG_GK20A_CTXSW_TRACE | ||
5315 | gk20a_fecs_trace_reset_buffer(g); | ||
5316 | #else | ||
5317 | ret = -1; | ||
5318 | #endif | ||
5319 | } else { | ||
5320 | nvgpu_err(g, | ||
5321 | "ctxsw intr0 set by ucode, error_code: 0x%08x", | ||
5312 | mailbox_value); | 5322 | mailbox_value); |
5313 | ret = -1; | 5323 | ret = -1; |
5324 | } | ||
5314 | } else { | 5325 | } else { |
5315 | nvgpu_err(g, | 5326 | nvgpu_err(g, |
5316 | "unhandled fecs error interrupt 0x%08x for channel %u", | 5327 | "unhandled fecs error interrupt 0x%08x for channel %u", |