diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-03-17 08:51:55 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:08:54 -0400 |
commit | 4a8f0db37976036abfe4d70ff60cd0991a177a7d (patch) | |
tree | 5c633c963f3d278b8b15e478f751125c867abc93 /drivers/gpu/nvgpu/gk20a/ltc_common.c | |
parent | b5acc421ee159c932e9e95adaa6d89a0c2141b38 (diff) |
gpu: nvgpu: gk20a: Fix G_ELPG flush poll
We poll completion of flush sequence by polling the broadcast
register. The polling should be done for a per-slice register
instead.
Bug 1457723
Change-Id: I10aba939175b6d05b05f5f26eebebcbe09d9b4a7
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/382521
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Tested-by: Juha Tukkinen <jtukkinen@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ltc_common.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ltc_common.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ltc_common.c b/drivers/gpu/nvgpu/gk20a/ltc_common.c index cbb27cc7..bc45ac41 100644 --- a/drivers/gpu/nvgpu/gk20a/ltc_common.c +++ b/drivers/gpu/nvgpu/gk20a/ltc_common.c | |||
@@ -222,13 +222,13 @@ static void gk20a_mm_g_elpg_flush_locked(struct gk20a *g) | |||
222 | /* Make sure all previous writes are committed to the L2. There's no | 222 | /* Make sure all previous writes are committed to the L2. There's no |
223 | guarantee that writes are to DRAM. This will be a sysmembar internal | 223 | guarantee that writes are to DRAM. This will be a sysmembar internal |
224 | to the L2. */ | 224 | to the L2. */ |
225 | gk20a_writel(g, ltc_ltss_g_elpg_r(), | 225 | gk20a_writel(g, ltc_ltcs_ltss_g_elpg_r(), |
226 | ltc_ltss_g_elpg_flush_pending_f()); | 226 | ltc_ltcs_ltss_g_elpg_flush_pending_f()); |
227 | do { | 227 | do { |
228 | data = gk20a_readl(g, ltc_ltss_g_elpg_r()); | 228 | data = gk20a_readl(g, ltc_ltc0_ltss_g_elpg_r()); |
229 | 229 | ||
230 | if (ltc_ltss_g_elpg_flush_v(data) == | 230 | if (ltc_ltc0_ltss_g_elpg_flush_v(data) == |
231 | ltc_ltss_g_elpg_flush_pending_v()) { | 231 | ltc_ltc0_ltss_g_elpg_flush_pending_v()) { |
232 | gk20a_dbg_info("g_elpg_flush 0x%x", data); | 232 | gk20a_dbg_info("g_elpg_flush 0x%x", data); |
233 | retry--; | 233 | retry--; |
234 | usleep_range(20, 40); | 234 | usleep_range(20, 40); |