From 4a8f0db37976036abfe4d70ff60cd0991a177a7d Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 17 Mar 2014 14:51:55 +0200 Subject: 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 Reviewed-on: http://git-master/r/382521 Reviewed-by: Juha Tukkinen Tested-by: Juha Tukkinen --- drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h') 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) { return 0x10000000; } -static inline u32 ltc_ltss_g_elpg_r(void) +static inline u32 ltc_ltcs_ltss_g_elpg_r(void) { return 0x0017e828; } -static inline u32 ltc_ltss_g_elpg_flush_v(u32 r) +static inline u32 ltc_ltcs_ltss_g_elpg_flush_v(u32 r) { return (r >> 0) & 0x1; } -static inline u32 ltc_ltss_g_elpg_flush_pending_v(void) +static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_v(void) { return 0x00000001; } -static inline u32 ltc_ltss_g_elpg_flush_pending_f(void) +static inline u32 ltc_ltcs_ltss_g_elpg_flush_pending_f(void) +{ + return 0x1; +} +static inline u32 ltc_ltc0_ltss_g_elpg_r(void) +{ + return 0x00140828; +} +static inline u32 ltc_ltc0_ltss_g_elpg_flush_v(u32 r) +{ + return (r >> 0) & 0x1; +} +static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_v(void) +{ + return 0x00000001; +} +static inline u32 ltc_ltc0_ltss_g_elpg_flush_pending_f(void) { return 0x1; } -- cgit v1.2.2