summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gv11b/fifo_gv11b.c8
-rw-r--r--drivers/gpu/nvgpu/gv11b/fifo_gv11b.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
index 13d498a7..abea39b6 100644
--- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
@@ -381,7 +381,13 @@ u32 gv11b_fifo_intr_0_error_mask(struct gk20a *g)
381 381
382u32 gv11b_fifo_get_preempt_timeout(struct gk20a *g) 382u32 gv11b_fifo_get_preempt_timeout(struct gk20a *g)
383{ 383{
384 return gk20a_get_gr_idle_timeout(g); 384 /* if timeouts are enabled, using 3000ms timeout
385 * for polling pdma/eng/runlist might kick in
386 * timeout handler in the cases where preempt
387 * is stuck. Use 1000ms timeout for polling when
388 * timeouts are enabled */
389 return nvgpu_is_timeouts_enabled(g) ? PREEMPT_TIMEOUT_1000_MS :
390 g->gr_idle_timeout_default;
385} 391}
386 392
387static int gv11b_fifo_poll_pbdma_chan_status(struct gk20a *g, u32 id, 393static int gv11b_fifo_poll_pbdma_chan_status(struct gk20a *g, u32 id,
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
index 5ff16453..66efdd3b 100644
--- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
@@ -51,6 +51,7 @@
51#define CHANNEL_INFO_VEID0 0 51#define CHANNEL_INFO_VEID0 0
52 52
53#define MAX_PRE_SI_RETRIES 200000 /* 1G/500KHz * 100 */ 53#define MAX_PRE_SI_RETRIES 200000 /* 1G/500KHz * 100 */
54#define PREEMPT_TIMEOUT_1000_MS 1000
54 55
55struct gpu_ops; 56struct gpu_ops;
56 57