mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
gpu: nvgpu: gk20a: cde: Add base_post_divide param
This patch adds a parameter to communicate the compression bit backing store address we write to the hardware. Change-Id: Ibc0e3d8304e893ddf15b4e03b405c7d85a73e95b Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: http://git-master/r/454510 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
8827b64518
commit
dde83cb0d2
@@ -321,6 +321,9 @@ static int gk20a_cde_patch_params(struct gk20a_cde_ctx *cde_ctx)
|
|||||||
if (new_data == 0)
|
if (new_data == 0)
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
break;
|
break;
|
||||||
|
case TYPE_PARAM_BACKINGSTORE_BASE_HW:
|
||||||
|
new_data = g->gr.compbit_store.base_hw;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
user_id = param->id - NUM_RESERVED_PARAMS;
|
user_id = param->id - NUM_RESERVED_PARAMS;
|
||||||
if (user_id < 0 || user_id >= MAX_CDE_USER_PARAMS)
|
if (user_id < 0 || user_id >= MAX_CDE_USER_PARAMS)
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ enum {
|
|||||||
TYPE_PARAM_DESTINATION_SIZE,
|
TYPE_PARAM_DESTINATION_SIZE,
|
||||||
TYPE_PARAM_BACKINGSTORE_SIZE,
|
TYPE_PARAM_BACKINGSTORE_SIZE,
|
||||||
TYPE_PARAM_SOURCE_SMMU_ADDR,
|
TYPE_PARAM_SOURCE_SMMU_ADDR,
|
||||||
|
TYPE_PARAM_BACKINGSTORE_BASE_HW,
|
||||||
NUM_RESERVED_PARAMS = 1024,
|
NUM_RESERVED_PARAMS = 1024,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -261,6 +261,8 @@ static void gk20a_ltc_init_cbc(struct gk20a *g, struct gr_gk20a *gr)
|
|||||||
(u32)(compbit_store_base_iova & 0xffffffff),
|
(u32)(compbit_store_base_iova & 0xffffffff),
|
||||||
compbit_base_post_divide);
|
compbit_base_post_divide);
|
||||||
|
|
||||||
|
gr->compbit_store.base_hw = compbit_base_post_divide;
|
||||||
|
|
||||||
g->ops.ltc.cbc_ctrl(g, gk20a_cbc_op_invalidate,
|
g->ops.ltc.cbc_ctrl(g, gk20a_cbc_op_invalidate,
|
||||||
0, max_comptag_lines - 1);
|
0, max_comptag_lines - 1);
|
||||||
|
|
||||||
|
|||||||
@@ -172,6 +172,10 @@ struct compbit_store_desc {
|
|||||||
struct sg_table *sgt;
|
struct sg_table *sgt;
|
||||||
size_t size;
|
size_t size;
|
||||||
u64 base_iova;
|
u64 base_iova;
|
||||||
|
|
||||||
|
/* The value that is written to the hardware. This depends on
|
||||||
|
* on the number of ltcs and is not an address. */
|
||||||
|
u64 base_hw;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct gk20a_buffer_state {
|
struct gk20a_buffer_state {
|
||||||
|
|||||||
Reference in New Issue
Block a user