summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/ltc_gp10b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/ltc_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/ltc_gp10b.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/ltc_gp10b.c b/drivers/gpu/nvgpu/gp10b/ltc_gp10b.c
index baa275c7..43619f80 100644
--- a/drivers/gpu/nvgpu/gp10b/ltc_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/ltc_gp10b.c
@@ -205,25 +205,17 @@ void gp10b_ltc_init_fs_state(struct gk20a *g)
205 ltc_intr); 205 ltc_intr);
206} 206}
207 207
208#ifdef CONFIG_DEBUG_FS 208void gp10b_ltc_set_enabled(struct gk20a *g, bool enabled)
209void gp10b_ltc_sync_debugfs(struct gk20a *g)
210{ 209{
211 u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f(); 210 u32 reg_f = ltc_ltcs_ltss_tstg_set_mgmt_2_l2_bypass_mode_enabled_f();
211 u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r());
212 212
213 nvgpu_spinlock_acquire(&g->debugfs_lock); 213 if (enabled)
214 if (g->mm.ltc_enabled != g->mm.ltc_enabled_debug) { 214 /* bypass disabled (normal caching ops)*/
215 u32 reg = gk20a_readl(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r()); 215 reg &= ~reg_f;
216 216 else
217 if (g->mm.ltc_enabled_debug) 217 /* bypass enabled (no caching) */
218 /* bypass disabled (normal caching ops)*/ 218 reg |= reg_f;
219 reg &= ~reg_f;
220 else
221 /* bypass enabled (no caching) */
222 reg |= reg_f;
223 219
224 gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg); 220 gk20a_writel(g, ltc_ltcs_ltss_tstg_set_mgmt_2_r(), reg);
225 g->mm.ltc_enabled = g->mm.ltc_enabled_debug;
226 }
227 nvgpu_spinlock_release(&g->debugfs_lock);
228} 221}
229#endif