gpu: nvgpu: gv11b: set preempt timeout

For pbdma/eng/runlist preempt polling use
fifo_eng_timeout_us converted to ms.

Bug 200426402

Change-Id: I2137bb9c5517d27c514ddd7ef0c601230a1ddb16
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1775442
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Seema Khowala
2018-07-10 10:54:05 -07:00
committed by mobile promotions
parent ea1a1942a6
commit a94dd24e26
3 changed files with 7 additions and 9 deletions

View File

@@ -38,7 +38,7 @@ u32 gv100_fifo_get_num_fifos(struct gk20a *g)
u32 gv100_fifo_get_preempt_timeout(struct gk20a *g)
{
return DEFAULT_FIFO_PREEMPT_TIMEOUT;
return g->fifo_eng_timeout_us / 1000 ;
}
void gv100_apply_ctxsw_timeout_intr(struct gk20a *g)

View File

@@ -387,13 +387,12 @@ u32 gv11b_fifo_intr_0_error_mask(struct gk20a *g)
u32 gv11b_fifo_get_preempt_timeout(struct gk20a *g)
{
/* if timeouts are enabled, using 3000ms timeout
* for polling pdma/eng/runlist might kick in
* timeout handler in the cases where preempt
* is stuck. Use 1000ms timeout for polling when
* timeouts are enabled */
return nvgpu_is_timeouts_enabled(g) ? PREEMPT_TIMEOUT_1000_MS :
g->gr_idle_timeout_default;
/* using gr_idle_timeout for polling pdma/eng/runlist
* might kick in timeout handler in the cases where
* preempt is stuck. Use fifo_eng_timeout converted to ms
* for preempt polling */
return g->fifo_eng_timeout_us / 1000 ;
}
static int gv11b_fifo_poll_pbdma_chan_status(struct gk20a *g, u32 id,

View File

@@ -51,7 +51,6 @@
#define CHANNEL_INFO_VEID0 0
#define MAX_PRE_SI_RETRIES 200000 /* 1G/500KHz * 100 */
#define PREEMPT_TIMEOUT_1000_MS 1000
struct gpu_ops;