summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-01-04 19:27:33 -0500
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:10 -0500
commit5dcbe39a71ccd7c09c128b92d612036e57293a71 (patch)
tree5860bb75fcff21b8c3daaf4687e22c7668382963 /drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
parent03afa9b0608126e1652d7e489ab8e1e05547a6e1 (diff)
gpu: nvgpu: enable semaphore acquire timeout for gp10b
It'll detect dead semaphore acquire. The worst case is when ACQUIRE_SWITCH is disabled, semaphore acquire will poll and consume full gpu timeslicees. The timeout value is set to half of channel WDT. Bug 1636800 Change-Id: Idbd4bfa52981e8a849b62a168e3a6828330112f5 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/928830 Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/fifo_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/fifo_gp10b.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
index 8c53978b..ade6ff0a 100644
--- a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * GP10B fifo 2 * GP10B fifo
3 * 3 *
4 * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License, 7 * under the terms and conditions of the GNU General Public License,
@@ -122,11 +122,7 @@ static int channel_gp10b_setup_ramfc(struct channel_gk20a *c,
122 gk20a_mem_wr32(inst_ptr, ram_fc_target_w(), pbdma_target_engine_sw_f()); 122 gk20a_mem_wr32(inst_ptr, ram_fc_target_w(), pbdma_target_engine_sw_f());
123 123
124 gk20a_mem_wr32(inst_ptr, ram_fc_acquire_w(), 124 gk20a_mem_wr32(inst_ptr, ram_fc_acquire_w(),
125 pbdma_acquire_retry_man_2_f() | 125 channel_gk20a_pbdma_acquire_val(c));
126 pbdma_acquire_retry_exp_2_f() |
127 pbdma_acquire_timeout_exp_max_f() |
128 pbdma_acquire_timeout_man_max_f() |
129 pbdma_acquire_timeout_en_disable_f());
130 126
131 gk20a_mem_wr32(inst_ptr, ram_fc_runlist_timeslice_w(), 127 gk20a_mem_wr32(inst_ptr, ram_fc_runlist_timeslice_w(),
132 pbdma_runlist_timeslice_timeout_128_f() | 128 pbdma_runlist_timeslice_timeout_128_f() |