mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
gpu: nvgpu: gv11b: preempt timeout set to 1000 ms
For Si platforms, gk20a_get_gr_idle_timeout returns 3000 ms i.e. 3 sec. Currently this time is used for polling each pbdma, eng and runlist and this conflicts channel timeout if preempt fails. Use 1000 ms timeout for polling preempt timeout when timeouts are enabled else use gk20a_get_gr_idle_timeout. For non-si platforms, polling loop is depending on max number of retries. Bug 2125776 Bug 2108544 Bug 2105322 Bug 2092051 Bug 2048824 Bug 2043838 Bug 2039587 Bug 2028993 Bug 2029245 Bug 2065990 Bug 1945121 Bug 200401707 Bug 200393631 Bug 200327596 Change-Id: Icdb69b7b7d17292f2b6a43f1d8e9d75ff545d0ae Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1739543 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
1407133b7e
commit
3eede64de0
@@ -381,7 +381,13 @@ u32 gv11b_fifo_intr_0_error_mask(struct gk20a *g)
|
||||
|
||||
u32 gv11b_fifo_get_preempt_timeout(struct gk20a *g)
|
||||
{
|
||||
return gk20a_get_gr_idle_timeout(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;
|
||||
}
|
||||
|
||||
static int gv11b_fifo_poll_pbdma_chan_status(struct gk20a *g, u32 id,
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
#define CHANNEL_INFO_VEID0 0
|
||||
|
||||
#define MAX_PRE_SI_RETRIES 200000 /* 1G/500KHz * 100 */
|
||||
#define PREEMPT_TIMEOUT_1000_MS 1000
|
||||
|
||||
struct gpu_ops;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user