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/hw_ltc_gk20a.h | |
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/hw_ltc_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h b/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h index 65221b59..8ea4ef71 100644 --- a/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h | |||
@@ -198,19 +198,35 @@ static inline u32 ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(void) | |||
198 | { | 198 | { |
199 | return 0x10000000; | 199 | return 0x10000000; |
200 | } | 200 | } |
201 | static inline u32 ltc_ltss_g_elpg_r(void) | 201 | static inline u32 ltc_ltcs_ltss_g_elpg_r(void) |
202 | { | 202 | { |
203 | return 0x0017e828; | 203 | return 0x0017e828; |
204 | } | 204 | } |
205 | static inline u32 ltc_ltss_g_elpg_flush_v(u32 r) | 205 | static inline u32 ltc_ltcs_ltss_g_elpg_flush_v(u32 r) |
206 | { | 206 | { |
207 | return (r >> 0) & 0x1; | 207 | return (r >> 0) & 0x1; |
208 | } | 208 | } |
209 | static inline u32 ltc_ltss_g_elpg_flush_pending_v(void) | 209 | static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_v(void) |
210 | { | 210 | { |
211 | return 0x00000001; | 211 | return 0x00000001; |
212 | } | 212 | } |
213 | static inline u32 ltc_ltss_g_elpg_flush_pending_f(void) | 213 | static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_f(void) |
214 | { | ||
215 | return 0x1; | ||
216 | } | ||
217 | static inline u32 ltc_ltc0_ltss_g_elpg_r(void) | ||
218 | { | ||
219 | return 0x00140828; | ||
220 | } | ||
221 | static inline u32 ltc_ltc0_ltss_g_elpg_flush_v(u32 r) | ||
222 | { | ||
223 | return (r >> 0) & 0x1; | ||
224 | } | ||
225 | static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_v(void) | ||
226 | { | ||
227 | return 0x00000001; | ||
228 | } | ||
229 | static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_f(void) | ||
214 | { | 230 | { |
215 | return 0x1; | 231 | return 0x1; |
216 | } | 232 | } |