summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2018-12-04 13:41:19 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-12-29 02:51:39 -0500
commit89d5f40116d0d84c2f6d8427560dd24f64f2dcaa (patch)
treec700dfb0d77b474933cc95f37590f30b0458204f /drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c
parent8e2d0c7b3d98149fd753792f183e6a1ae9ebc456 (diff)
gpu: nvgpu: handle timestamp buffer full ctxsw_intr0
If enabled, fecs trace updating happens from ucode side even when there is no fecs trace dumper application to consume it. Due to this, trace buffer will get eventually full and ucode will trigger ctxsw_intr0. Reset fecs_trace buffer to handle timestamp buffer full ctxsw_intr0. Bug 2361571 Bug 200472922 Change-Id: Ia26a17635fc6bd6e8663b8af983acc91839ecfcd Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1965370 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> (cherry picked from commit 790ba095543b33f4cc3a145559ad31a1e9f99d98) Reviewed-on: https://git-master.nvidia.com/r/1979746 GVS: Gerrit_Virtual_Submit Reviewed-by: Debarshi Dutta <ddutta@nvidia.com> Tested-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c
index b30d1743..cac3ce27 100644
--- a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c
@@ -634,4 +634,12 @@ bool gk20a_fecs_trace_is_enabled(struct gk20a *g)
634 634
635 return (trace && nvgpu_thread_is_running(&trace->poll_task)); 635 return (trace && nvgpu_thread_is_running(&trace->poll_task));
636} 636}
637
638void gk20a_fecs_trace_reset_buffer(struct gk20a *g)
639{
640 nvgpu_log(g, gpu_dbg_fn|gpu_dbg_ctxsw, " ");
641
642 gk20a_fecs_trace_set_read_index(g,
643 gk20a_fecs_trace_get_write_index(g));
644}
637#endif /* CONFIG_GK20A_CTXSW_TRACE */ 645#endif /* CONFIG_GK20A_CTXSW_TRACE */