diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-09-15 06:22:04 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:18 -0400 |
commit | 87077c246762f38f708a0529a9dae5f89f0b8207 (patch) | |
tree | 18448c9664558b0ada6e10d75bdda888fe9ec029 /drivers/gpu/nvgpu | |
parent | 375ab4bea0f4fc5d202eed651e0d74bd786152ef (diff) |
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 <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/499220
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Deepak Nibade <dnibade@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ltc_common.c | 22 | ||||
-rw-r--r-- | 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) | |||
267 | 0, max_comptag_lines - 1); | 267 | 0, max_comptag_lines - 1); |
268 | 268 | ||
269 | } | 269 | } |
270 | |||
271 | #ifdef CONFIG_DEBUG_FS | ||
272 | static void gk20a_ltc_sync_debugfs(struct gk20a *g) | ||
273 | { | ||
274 | u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(); | ||
275 | |||
276 | spin_lock(&g->debugfs_lock); | ||
277 | if (g->mm.ltc_enabled != g->mm.ltc_enabled_debug) { | ||
278 | u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r()); | ||
279 | if (g->mm.ltc_enabled_debug) | ||
280 | /* bypass disabled (normal caching ops)*/ | ||
281 | reg &= ~reg_f; | ||
282 | else | ||
283 | /* bypass enabled (no caching) */ | ||
284 | reg |= reg_f; | ||
285 | |||
286 | gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg); | ||
287 | g->mm.ltc_enabled = g->mm.ltc_enabled_debug; | ||
288 | } | ||
289 | spin_unlock(&g->debugfs_lock); | ||
290 | } | ||
291 | #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: | |||
174 | } | 174 | } |
175 | 175 | ||
176 | 176 | ||
177 | #ifdef CONFIG_DEBUG_FS | ||
178 | static void gk20a_ltc_sync_debugfs(struct gk20a *g) | ||
179 | { | ||
180 | u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(); | ||
181 | |||
182 | spin_lock(&g->debugfs_lock); | ||
183 | if (g->mm.ltc_enabled != g->mm.ltc_enabled_debug) { | ||
184 | u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r()); | ||
185 | if (g->mm.ltc_enabled_debug) | ||
186 | /* bypass disabled (normal caching ops)*/ | ||
187 | reg &= ~reg_f; | ||
188 | else | ||
189 | /* bypass enabled (no caching) */ | ||
190 | reg |= reg_f; | ||
191 | |||
192 | gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg); | ||
193 | g->mm.ltc_enabled = g->mm.ltc_enabled_debug; | ||
194 | } | ||
195 | spin_unlock(&g->debugfs_lock); | ||
196 | } | ||
197 | #endif | ||
198 | |||
199 | static void gk20a_ltc_init_fs_state(struct gk20a *g) | 177 | static void gk20a_ltc_init_fs_state(struct gk20a *g) |
200 | { | 178 | { |
201 | gk20a_dbg_info("initialize gk20a L2"); | 179 | gk20a_dbg_info("initialize gk20a L2"); |