From 87077c246762f38f708a0529a9dae5f89f0b8207 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 15 Sep 2014 13:22:04 +0300 Subject: gpu: nvgpu: Fix L2 bypass to work in gm20b L2 bypass registers have moved in gm20b. Move the code to ltc_common.c, which gets compiled once per chip version. Change-Id: I0ab4dd03c78b8ad8abc7a7b18c094b6002827587 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/499220 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Deepak Nibade --- drivers/gpu/nvgpu/gk20a/ltc_common.c | 22 ++++++++++++++++++++++ drivers/gpu/nvgpu/gk20a/ltc_gk20a.c | 22 ---------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/nvgpu/gk20a/ltc_common.c b/drivers/gpu/nvgpu/gk20a/ltc_common.c index d3080db1..9d534b7b 100644 --- a/drivers/gpu/nvgpu/gk20a/ltc_common.c +++ b/drivers/gpu/nvgpu/gk20a/ltc_common.c @@ -267,3 +267,25 @@ static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr) 0, max_comptag_lines - 1); } + +#ifdef CONFIG_DEBUG_FS +static void gk20a_ltc_sync_debugfs(struct gk20a *g) +{ + u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(); + + spin_lock(&g->debugfs_lock); + if (g->mm.ltc_enabled != g->mm.ltc_enabled_debug) { + u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r()); + if (g->mm.ltc_enabled_debug) + /* bypass disabled (normal caching ops)*/ + reg &= ~reg_f; + else + /* bypass enabled (no caching) */ + reg |= reg_f; + + gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg); + g->mm.ltc_enabled = g->mm.ltc_enabled_debug; + } + spin_unlock(&g->debugfs_lock); +} +#endif diff --git a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c index a966e95c..2794b3db 100644 --- a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c @@ -174,28 +174,6 @@ out: } -#ifdef CONFIG_DEBUG_FS -static void gk20a_ltc_sync_debugfs(struct gk20a *g) -{ - u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(); - - spin_lock(&g->debugfs_lock); - if (g->mm.ltc_enabled != g->mm.ltc_enabled_debug) { - u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r()); - if (g->mm.ltc_enabled_debug) - /* bypass disabled (normal caching ops)*/ - reg &= ~reg_f; - else - /* bypass enabled (no caching) */ - reg |= reg_f; - - gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg); - g->mm.ltc_enabled = g->mm.ltc_enabled_debug; - } - spin_unlock(&g->debugfs_lock); -} -#endif - static void gk20a_ltc_init_fs_state(struct gk20a *g) { gk20a_dbg_info("initialize gk20a L2"); -- cgit v1.2.2