diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/ltc_gp10b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/ltc_gp10b.c | 26 |
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 | 208 | void gp10b_ltc_set_enabled(struct gk20a *g, bool enabled) |
209 | void 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 | ||