diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/ltc_common.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ltc_common.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ltc_common.c b/drivers/gpu/nvgpu/gk20a/ltc_common.c index ac46a9a0..72477983 100644 --- a/drivers/gpu/nvgpu/gk20a/ltc_common.c +++ b/drivers/gpu/nvgpu/gk20a/ltc_common.c | |||
@@ -313,37 +313,3 @@ static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr) | |||
313 | 0, max_comptag_lines - 1); | 313 | 0, max_comptag_lines - 1); |
314 | 314 | ||
315 | } | 315 | } |
316 | |||
317 | /* Flushes the compression bit cache as well as "data". | ||
318 | * Note: the name here is a bit of a misnomer. ELPG uses this | ||
319 | * internally... but ELPG doesn't have to be on to do it manually. | ||
320 | */ | ||
321 | static void gk20a_mm_g_elpg_flush_locked(struct gk20a *g) | ||
322 | { | ||
323 | u32 data; | ||
324 | s32 retry = 100; | ||
325 | |||
326 | gk20a_dbg_fn(""); | ||
327 | |||
328 | /* Make sure all previous writes are committed to the L2. There's no | ||
329 | guarantee that writes are to DRAM. This will be a sysmembar internal | ||
330 | to the L2. */ | ||
331 | gk20a_writel(g, ltc_ltcs_ltss_g_elpg_r(), | ||
332 | ltc_ltcs_ltss_g_elpg_flush_pending_f()); | ||
333 | do { | ||
334 | data = gk20a_readl(g, ltc_ltc0_ltss_g_elpg_r()); | ||
335 | |||
336 | if (ltc_ltc0_ltss_g_elpg_flush_v(data) == | ||
337 | ltc_ltc0_ltss_g_elpg_flush_pending_v()) { | ||
338 | gk20a_dbg_info("g_elpg_flush 0x%x", data); | ||
339 | retry--; | ||
340 | usleep_range(20, 40); | ||
341 | } else | ||
342 | break; | ||
343 | } while (retry >= 0 || !tegra_platform_is_silicon()); | ||
344 | |||
345 | if (retry < 0) | ||
346 | gk20a_warn(dev_from_gk20a(g), | ||
347 | "g_elpg_flush too many retries"); | ||
348 | |||
349 | } | ||