summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-03-17 08:51:55 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:08:54 -0400
commit4a8f0db37976036abfe4d70ff60cd0991a177a7d (patch)
tree5c633c963f3d278b8b15e478f751125c867abc93 /drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h
parentb5acc421ee159c932e9e95adaa6d89a0c2141b38 (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.h24
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}
201static inline u32 ltc_ltss_g_elpg_r(void) 201static inline u32 ltc_ltcs_ltss_g_elpg_r(void)
202{ 202{
203 return 0x0017e828; 203 return 0x0017e828;
204} 204}
205static inline u32 ltc_ltss_g_elpg_flush_v(u32 r) 205static 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}
209static inline u32 ltc_ltss_g_elpg_flush_pending_v(void) 209static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_v(void)
210{ 210{
211 return 0x00000001; 211 return 0x00000001;
212} 212}
213static inline u32 ltc_ltss_g_elpg_flush_pending_f(void) 213static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_f(void)
214{
215 return 0x1;
216}
217static inline u32 ltc_ltc0_ltss_g_elpg_r(void)
218{
219 return 0x00140828;
220}
221static inline u32 ltc_ltc0_ltss_g_elpg_flush_v(u32 r)
222{
223 return (r >> 0) & 0x1;
224}
225static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_v(void)
226{
227 return 0x00000001;
228}
229static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_f(void)
214{ 230{
215 return 0x1; 231 return 0x1;
216} 232}