summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
index 194d5e3c..b14b2a27 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c
@@ -815,11 +815,15 @@ int gk20a_init_fifo_reset_enable_hw(struct gk20a *g)
815 if (g->ops.fifo.apply_pb_timeout) 815 if (g->ops.fifo.apply_pb_timeout)
816 g->ops.fifo.apply_pb_timeout(g); 816 g->ops.fifo.apply_pb_timeout(g);
817 817
818 timeout = GRFIFO_TIMEOUT_CHECK_PERIOD_US; 818 if (g->ops.fifo.apply_ctxsw_timeout_intr)
819 timeout = scale_ptimer(timeout, 819 g->ops.fifo.apply_ctxsw_timeout_intr(g);
820 ptimer_scalingfactor10x(g->ptimer_src_freq)); 820 else {
821 timeout |= fifo_eng_timeout_detection_enabled_f(); 821 timeout = GRFIFO_TIMEOUT_CHECK_PERIOD_US;
822 gk20a_writel(g, fifo_eng_timeout_r(), timeout); 822 timeout = scale_ptimer(timeout,
823 ptimer_scalingfactor10x(g->ptimer_src_freq));
824 timeout |= fifo_eng_timeout_detection_enabled_f();
825 gk20a_writel(g, fifo_eng_timeout_r(), timeout);
826 }
823 827
824 /* clear and enable pbdma interrupt */ 828 /* clear and enable pbdma interrupt */
825 for (i = 0; i < host_num_pbdma; i++) { 829 for (i = 0; i < host_num_pbdma; i++) {