summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/cde_gk20a.c3
-rw-r--r--drivers/gpu/nvgpu/gk20a/cde_gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/ltc_common.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.h4
4 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
index 2c24db85..63a1a590 100644
--- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c
@@ -321,6 +321,9 @@ static int gk20a_cde_patch_params(struct gk20a_cde_ctx *cde_ctx)
321 if (new_data == 0) 321 if (new_data == 0)
322 err = -EINVAL; 322 err = -EINVAL;
323 break; 323 break;
324 case TYPE_PARAM_BACKINGSTORE_BASE_HW:
325 new_data = g->gr.compbit_store.base_hw;
326 break;
324 default: 327 default:
325 user_id = param->id - NUM_RESERVED_PARAMS; 328 user_id = param->id - NUM_RESERVED_PARAMS;
326 if (user_id < 0 || user_id >= MAX_CDE_USER_PARAMS) 329 if (user_id < 0 || user_id >= MAX_CDE_USER_PARAMS)
diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.h b/drivers/gpu/nvgpu/gk20a/cde_gk20a.h
index db583b65..9569f436 100644
--- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.h
@@ -119,6 +119,7 @@ enum {
119 TYPE_PARAM_DESTINATION_SIZE, 119 TYPE_PARAM_DESTINATION_SIZE,
120 TYPE_PARAM_BACKINGSTORE_SIZE, 120 TYPE_PARAM_BACKINGSTORE_SIZE,
121 TYPE_PARAM_SOURCE_SMMU_ADDR, 121 TYPE_PARAM_SOURCE_SMMU_ADDR,
122 TYPE_PARAM_BACKINGSTORE_BASE_HW,
122 NUM_RESERVED_PARAMS = 1024, 123 NUM_RESERVED_PARAMS = 1024,
123}; 124};
124 125
diff --git a/drivers/gpu/nvgpu/gk20a/ltc_common.c b/drivers/gpu/nvgpu/gk20a/ltc_common.c
index 2d611d48..b4e3fc75 100644
--- a/drivers/gpu/nvgpu/gk20a/ltc_common.c
+++ b/drivers/gpu/nvgpu/gk20a/ltc_common.c
@@ -261,6 +261,8 @@ static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr)
261 (u32)(compbit_store_base_iova & 0xffffffff), 261 (u32)(compbit_store_base_iova & 0xffffffff),
262 compbit_base_post_divide); 262 compbit_base_post_divide);
263 263
264 gr->compbit_store.base_hw = compbit_base_post_divide;
265
264 g->ops.ltc.cbc_ctrl(g, gk20a_cbc_op_invalidate, 266 g->ops.ltc.cbc_ctrl(g, gk20a_cbc_op_invalidate,
265 0, max_comptag_lines - 1); 267 0, max_comptag_lines - 1);
266 268
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
index df64d2ca..da19f83e 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
@@ -172,6 +172,10 @@ struct compbit_store_desc {
172 struct sg_table *sgt; 172 struct sg_table *sgt;
173 size_t size; 173 size_t size;
174 u64 base_iova; 174 u64 base_iova;
175
176 /* The value that is written to the hardware. This depends on
177 * on the number of ltcs and is not an address. */
178 u64 base_hw;
175}; 179};
176 180
177struct gk20a_buffer_state { 181struct gk20a_buffer_state {