diff options
author | Seema Khowala <seemaj@nvidia.com> | 2018-09-04 16:38:28 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-09-14 18:34:03 -0400 |
commit | 356ebcef230466c05ad8e478a50271218b9a40ad (patch) | |
tree | 3c238e4a13876fd52ad0c0d7cb35ada4512990f2 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |
parent | 0ece054d13a67ab01a1074bd7f06f941593251dc (diff) |
gpu: nvgpu: dump falcon stats for fecs watchdog
After fecs watchdog gets triggered, system will not
do anything useful as it cannot context switch. Dumping
falcon stats will help debug the issue since s/w is
not triggering recovery.
Bug 2113657
Change-Id: I03ccd5ad7c03daac0581775dc615174cc0e77328
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1812720
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.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index b94eade1..a9a87a54 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5288,10 +5288,16 @@ int gk20a_gr_handle_fecs_error(struct gk20a *g, struct channel_gk20a *ch, | |||
5288 | gk20a_readl(g, gr_fecs_ctxsw_mailbox_r(6)), | 5288 | gk20a_readl(g, gr_fecs_ctxsw_mailbox_r(6)), |
5289 | isr_data->data_lo); | 5289 | isr_data->data_lo); |
5290 | ret = -1; | 5290 | ret = -1; |
5291 | } else if ((gr_fecs_intr & | ||
5292 | gr_fecs_host_int_status_watchdog_active_f()) != 0U) { | ||
5293 | /* currently, recovery is not initiated */ | ||
5294 | nvgpu_err(g, "fecs watchdog triggered for channel %u, " | ||
5295 | "cannot ctxsw anymore !!", isr_data->chid); | ||
5296 | gk20a_fecs_dump_falcon_stats(g); | ||
5291 | } else { | 5297 | } else { |
5292 | nvgpu_err(g, | 5298 | nvgpu_err(g, |
5293 | "fecs error interrupt 0x%08x for channel %u", | 5299 | "fecs error interrupt 0x%08x for channel %u", |
5294 | gr_fecs_intr, isr_data->chid); | 5300 | gr_fecs_intr, isr_data->chid); |
5295 | } | 5301 | } |
5296 | 5302 | ||
5297 | gk20a_writel(g, gr_fecs_host_int_clear_r(), gr_fecs_intr); | 5303 | gk20a_writel(g, gr_fecs_host_int_clear_r(), gr_fecs_intr); |