]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
gpu: nvgpu: Invalidate CBC in initialization
authorArto Merilainen <amerilainen@nvidia.com>
Wed, 9 Apr 2014 17:51:21 +0000 (20:51 +0300)
committerGerrit Code Review <gerrit2@nvidia.com>
Fri, 11 Apr 2014 07:13:41 +0000 (00:13 -0700)
Ensure CBC is invalidated at GPU initialization.

Bug 1409151

Change-Id: I054be20a3252e40c96baec75958918c85a5a7801
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
drivers/gpu/nvgpu/gk20a/ltc_common.c

index bc45ac41614adce1ffdaf64456f34c75a64fd1a1..8af8c6874296f1c9a59e61e398c0cc6dda4ff865 100644 (file)
@@ -182,6 +182,9 @@ static int gk20a_ltc_init_zbc(struct gk20a *g, struct gr_gk20a *gr)
 
 static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr)
 {
+       u32 max_size = gr->max_comptag_mem;
+       u32 max_comptag_lines = max_size << 3;
+
        u32 compbit_base_post_divide;
        u64 compbit_base_post_multiply64;
        u64 compbit_store_base_iova =
@@ -206,6 +209,10 @@ static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr)
                   (u32)(compbit_store_base_iova >> 32),
                   (u32)(compbit_store_base_iova & 0xffffffff),
                   compbit_base_post_divide);
+
+       g->ops.ltc.cbc_ctrl(g, gk20a_cbc_op_invalidate,
+                           0, max_comptag_lines - 1);
+
 }
 
 /* Flushes the compression bit cache as well as "data".