summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/ltc_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ltc_common.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/ltc_common.c22
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
272static 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