diff options
author | David Nieto <dmartineznie@nvidia.com> | 2017-12-27 17:28:29 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-05 16:54:37 -0500 |
commit | 1f71f475e25fe786ec76d76a986aac8afec51b01 (patch) | |
tree | b291dcd78bfa68473b4cdd544f452e3a9d0b35a3 /drivers/gpu/nvgpu/gv100/fifo_gv100.c | |
parent | 83096b7ffcfe7e79df1f28749a509eb645462d75 (diff) |
DNI: gpu: nvgpu: Increase GV100 ctxsw timeouts
During bringup and before nvlink is up GV100 on the DDPX platform operates
with a very, very slow sysmem link. In order to get sysmem test to pass
it is neccesary to significantly increase most timeouts by an order the
magnitude.
Bug 2040544
Change-Id: I26858afde4ae80c70f86b47cfff674b6b00b5bf8
Signed-off-by: David Nieto <dmartineznie@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1627417
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv100/fifo_gv100.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv100/fifo_gv100.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv100/fifo_gv100.c b/drivers/gpu/nvgpu/gv100/fifo_gv100.c index 79862f6b..0227720d 100644 --- a/drivers/gpu/nvgpu/gv100/fifo_gv100.c +++ b/drivers/gpu/nvgpu/gv100/fifo_gv100.c | |||
@@ -22,9 +22,12 @@ | |||
22 | * DEALINGS IN THE SOFTWARE. | 22 | * DEALINGS IN THE SOFTWARE. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "gk20a/gk20a.h" | ||
25 | #include "fifo_gv100.h" | 26 | #include "fifo_gv100.h" |
27 | #include <nvgpu/timers.h> | ||
26 | 28 | ||
27 | #include <nvgpu/hw/gv100/hw_ccsr_gv100.h> | 29 | #include <nvgpu/hw/gv100/hw_ccsr_gv100.h> |
30 | #include <nvgpu/hw/gk20a/hw_fifo_gk20a.h> | ||
28 | 31 | ||
29 | #define DEFAULT_FIFO_PREEMPT_TIMEOUT 0x3FFFFFUL | 32 | #define DEFAULT_FIFO_PREEMPT_TIMEOUT 0x3FFFFFUL |
30 | 33 | ||
@@ -38,3 +41,14 @@ u32 gv100_fifo_get_preempt_timeout(struct gk20a *g) | |||
38 | return DEFAULT_FIFO_PREEMPT_TIMEOUT; | 41 | return DEFAULT_FIFO_PREEMPT_TIMEOUT; |
39 | } | 42 | } |
40 | 43 | ||
44 | void gv100_apply_ctxsw_timeout_intr(struct gk20a *g) | ||
45 | { | ||
46 | u32 timeout; | ||
47 | |||
48 | timeout = g->ch_wdt_timeout_ms*1000; | ||
49 | timeout = scale_ptimer(timeout, | ||
50 | ptimer_scalingfactor10x(g->ptimer_src_freq)); | ||
51 | timeout |= fifo_eng_timeout_detection_enabled_f(); | ||
52 | gk20a_writel(g, fifo_eng_timeout_r(), timeout); | ||
53 | } | ||
54 | |||