From: Kishore Padmanabha <kishore.padmana...@broadcom.com> The cache table id is not needed anymore since the value can be calculated from resource sub type and direction.
Signed-off-by: Kishore Padmanabha <kishore.padmana...@broadcom.com> Reviewed-by: Michael Baucom <michael.bau...@broadcom.com> Signed-off-by: Somnath Kotur <somnath.ko...@broadcom.com> --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 21 +++++++++++++++------ drivers/net/bnxt/tf_ulp/ulp_template_db.c | 5 ----- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 2 -- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 35b5d72..5db0da7 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -324,13 +324,14 @@ ulp_mapper_ident_fields_get(struct bnxt_ulp_mapper_class_tbl_info *tbl, static struct bnxt_ulp_mapper_cache_entry * ulp_mapper_cache_entry_get(struct bnxt_ulp_context *ulp, - enum bnxt_ulp_cache_tbl_id id, + uint32_t id, uint16_t key) { struct bnxt_ulp_mapper_data *mapper_data; mapper_data = bnxt_ulp_cntxt_ptr2_mapper_data_get(ulp); - if (!mapper_data || !mapper_data->cache_tbl[id]) { + if (!mapper_data || id >= BNXT_ULP_CACHE_TBL_MAX_SZ || + !mapper_data->cache_tbl[id]) { BNXT_TF_DBG(ERR, "Unable to acquire the cache tbl (%d)\n", id); return NULL; } @@ -1691,8 +1692,15 @@ ulp_mapper_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms, */ cache_key = ulp_blob_data_get(&key, &tmplen); ckey = (uint16_t *)cache_key; + + /* + * The id computed based on resource sub type and direction where + * dir is the bit0 and rest of the bits come from resource + * sub type. + */ cache_entry = ulp_mapper_cache_entry_get(parms->ulp_ctx, - tbl->cache_tbl_id, + (tbl->resource_sub_type << 1 | + (tbl->direction & 0x1)), *ckey); /* @@ -1756,12 +1764,13 @@ ulp_mapper_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms, fid_parms.resource_func = tbl->resource_func; /* - * Cache resource type is composed of both table_type and cache_tbl_id - * need to set it appropriately via setter. + * Cache resource type is composed of table_type, resource + * sub type and direction, it needs to set appropriately via setter. */ ulp_mapper_cache_res_type_set(&fid_parms, tbl->resource_type, - tbl->cache_tbl_id); + (tbl->resource_sub_type << 1 | + (tbl->direction & 0x1))); fid_parms.resource_hndl = (uint64_t)*ckey; fid_parms.critical_resource = tbl->critical_resource; rc = ulp_flow_db_resource_add(parms->ulp_ctx, diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db.c b/drivers/net/bnxt/tf_ulp/ulp_template_db.c index 9b793a2..140f96a 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db.c @@ -606,7 +606,6 @@ struct bnxt_ulp_mapper_class_tbl_info ulp_class_tbl_list[] = { .ident_nums = 1, .mark_enable = BNXT_ULP_MARK_ENABLE_NO, .critical_resource = 0, - .cache_tbl_id = BNXT_ULP_CACHE_TBL_ID_L2_CNTXT_TCAM_INGRESS, .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED }, { @@ -627,7 +626,6 @@ struct bnxt_ulp_mapper_class_tbl_info ulp_class_tbl_list[] = { .ident_nums = 0, .mark_enable = BNXT_ULP_MARK_ENABLE_NO, .critical_resource = 0, - .cache_tbl_id = 0, .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED }, { @@ -648,7 +646,6 @@ struct bnxt_ulp_mapper_class_tbl_info ulp_class_tbl_list[] = { .ident_nums = 1, .mark_enable = BNXT_ULP_MARK_ENABLE_NO, .critical_resource = 0, - .cache_tbl_id = BNXT_ULP_CACHE_TBL_ID_PROFILE_TCAM_INGRESS, .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED }, { @@ -669,7 +666,6 @@ struct bnxt_ulp_mapper_class_tbl_info ulp_class_tbl_list[] = { .ident_nums = 0, .mark_enable = BNXT_ULP_MARK_ENABLE_NO, .critical_resource = 0, - .cache_tbl_id = 0, .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED }, { @@ -690,7 +686,6 @@ struct bnxt_ulp_mapper_class_tbl_info ulp_class_tbl_list[] = { .ident_nums = 0, .mark_enable = BNXT_ULP_MARK_ENABLE_YES, .critical_resource = 1, - .cache_tbl_id = 0, .regfile_wr_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED } }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index ce449d0..eebe035 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -182,8 +182,6 @@ struct bnxt_ulp_mapper_class_tbl_info { uint8_t mark_enable; enum bnxt_ulp_regfile_index regfile_wr_idx; - - enum bnxt_ulp_cache_tbl_id cache_tbl_id; }; struct bnxt_ulp_mapper_act_tbl_info { -- 2.7.4