diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ltc_common.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ltc_common.c | 22 |
1 files changed, 22 insertions, 0 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 | ||