Lines Matching refs:tbl
261 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_key_fields_get() argument
273 idx = tbl->key_start_idx; in ulp_mapper_key_fields_get()
274 *num_flds = tbl->key_num_fields; in ulp_mapper_key_fields_get()
294 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_result_fields_get() argument
308 idx = tbl->result_start_idx; in ulp_mapper_result_fields_get()
309 *num_flds = tbl->result_num_fields; in ulp_mapper_result_fields_get()
310 *num_encap_flds = tbl->encap_num_fields; in ulp_mapper_result_fields_get()
326 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_ident_fields_get() argument
338 idx = tbl->ident_start_idx; in ulp_mapper_ident_fields_get()
339 *num_flds = tbl->ident_nums; in ulp_mapper_ident_fields_get()
606 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_ident_process() argument
627 iparms.dir = tbl->direction; in ulp_mapper_ident_process()
648 fid_parms.direction = tbl->direction; in ulp_mapper_ident_process()
672 free_parms.dir = tbl->direction; in ulp_mapper_ident_process()
680 (tbl->direction == TF_DIR_RX) ? "RX" : "TX"); in ulp_mapper_ident_process()
690 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_ident_extract() argument
719 sparms.dir = tbl->direction; in ulp_mapper_ident_extract()
746 fid_parms.direction = tbl->direction; in ulp_mapper_ident_extract()
766 free_parms.dir = tbl->direction; in ulp_mapper_ident_extract()
772 tf_dir_2_str(tbl->direction), sparms.search_id); in ulp_mapper_ident_extract()
1204 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_mark_gfid_process() argument
1207 enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode; in ulp_mapper_mark_gfid_process()
1231 fid_parms.direction = tbl->direction; in ulp_mapper_mark_gfid_process()
1247 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_mark_act_ptr_process() argument
1249 enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode; in ulp_mapper_mark_act_ptr_process()
1280 fid_parms.direction = tbl->direction; in ulp_mapper_mark_act_ptr_process()
1296 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_mark_vfr_idx_process() argument
1301 enum bnxt_ulp_mark_db_opcode mark_op = tbl->mark_db_opcode; in ulp_mapper_mark_vfr_idx_process()
1329 fid_parms.direction = tbl->direction; in ulp_mapper_mark_vfr_idx_process()
1349 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_tcam_tbl_result_create() argument
1359 dflds = ulp_mapper_result_fields_get(parms, tbl, &num_dflds, in ulp_mapper_tcam_tbl_result_create()
1368 tbl->direction, in ulp_mapper_tcam_tbl_result_create()
1383 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_tcam_tbl_scan_ident_alloc() argument
1396 idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); in ulp_mapper_tcam_tbl_scan_ident_alloc()
1399 if (ulp_mapper_ident_process(parms, tbl, in ulp_mapper_tcam_tbl_scan_ident_alloc()
1413 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_tcam_tbl_scan_ident_extract() argument
1424 idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); in ulp_mapper_tcam_tbl_scan_ident_extract()
1426 rc = ulp_mapper_ident_extract(parms, tbl, &idents[i], data); in ulp_mapper_tcam_tbl_scan_ident_extract()
1438 struct bnxt_ulp_mapper_tbl_info *tbl, in ulp_mapper_tcam_tbl_entry_write() argument
1455 sparms.dir = tbl->direction; in ulp_mapper_tcam_tbl_entry_write()
1456 sparms.tcam_tbl_type = tbl->resource_type; in ulp_mapper_tcam_tbl_entry_write()
1461 sparms.key_sz_in_bits = tbl->key_bit_size; in ulp_mapper_tcam_tbl_entry_write()
1464 if (tbl->result_bit_size != tmplen) { in ulp_mapper_tcam_tbl_entry_write()
1466 tmplen, tbl->result_bit_size); in ulp_mapper_tcam_tbl_entry_write()
1469 sparms.result_sz_in_bits = tbl->result_bit_size; in ulp_mapper_tcam_tbl_entry_write()
1491 rc = ulp_mapper_mark_act_ptr_process(parms, tbl); in ulp_mapper_tcam_tbl_entry_write()
1525 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_tcam_tbl_process() argument
1553 kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); in ulp_mapper_tcam_tbl_process()
1559 if (!ulp_blob_init(&key, tbl->blob_key_bit_size, in ulp_mapper_tcam_tbl_process()
1561 !ulp_blob_init(&mask, tbl->blob_key_bit_size, in ulp_mapper_tcam_tbl_process()
1563 !ulp_blob_init(&data, tbl->result_bit_size, in ulp_mapper_tcam_tbl_process()
1565 !ulp_blob_init(&update_data, tbl->result_bit_size, in ulp_mapper_tcam_tbl_process()
1571 if (tbl->resource_type == TF_TCAM_TBL_TYPE_WC_TCAM) { in ulp_mapper_tcam_tbl_process()
1583 rc = ulp_mapper_keymask_field_process(parms, tbl->direction, in ulp_mapper_tcam_tbl_process()
1592 rc = ulp_mapper_keymask_field_process(parms, tbl->direction, in ulp_mapper_tcam_tbl_process()
1601 if (tbl->resource_type == TF_TCAM_TBL_TYPE_WC_TCAM) { in ulp_mapper_tcam_tbl_process()
1602 ulp_mapper_wc_tcam_tbl_post_process(&key, tbl->key_bit_size); in ulp_mapper_tcam_tbl_process()
1603 ulp_mapper_wc_tcam_tbl_post_process(&mask, tbl->key_bit_size); in ulp_mapper_tcam_tbl_process()
1606 if (tbl->srch_b4_alloc == BNXT_ULP_SEARCH_BEFORE_ALLOC_NO) { in ulp_mapper_tcam_tbl_process()
1611 aparms.dir = tbl->direction; in ulp_mapper_tcam_tbl_process()
1612 aparms.tcam_tbl_type = tbl->resource_type; in ulp_mapper_tcam_tbl_process()
1613 aparms.search_enable = tbl->srch_b4_alloc; in ulp_mapper_tcam_tbl_process()
1616 if (tbl->blob_key_bit_size != tmplen) { in ulp_mapper_tcam_tbl_process()
1618 tmplen, tbl->blob_key_bit_size); in ulp_mapper_tcam_tbl_process()
1623 if (tbl->blob_key_bit_size != tmplen) { in ulp_mapper_tcam_tbl_process()
1625 tmplen, tbl->blob_key_bit_size); in ulp_mapper_tcam_tbl_process()
1629 aparms.priority = tbl->priority; in ulp_mapper_tcam_tbl_process()
1648 searchparms.dir = tbl->direction; in ulp_mapper_tcam_tbl_process()
1649 searchparms.tcam_tbl_type = tbl->resource_type; in ulp_mapper_tcam_tbl_process()
1651 searchparms.key_sz_in_bits = tbl->key_bit_size; in ulp_mapper_tcam_tbl_process()
1653 searchparms.priority = tbl->priority; in ulp_mapper_tcam_tbl_process()
1656 searchparms.result_sz_in_bits = tbl->result_bit_size; in ulp_mapper_tcam_tbl_process()
1677 search_flag = tbl->srch_b4_alloc; in ulp_mapper_tcam_tbl_process()
1682 rc = ulp_mapper_tcam_tbl_scan_ident_alloc(parms, tbl); in ulp_mapper_tcam_tbl_process()
1685 rc = ulp_mapper_tcam_tbl_result_create(parms, tbl, in ulp_mapper_tcam_tbl_process()
1689 rc = ulp_mapper_tcam_tbl_entry_write(parms, tbl, &key, in ulp_mapper_tcam_tbl_process()
1694 rc = ulp_mapper_tcam_tbl_scan_ident_extract(parms, tbl, &data); in ulp_mapper_tcam_tbl_process()
1698 rc = ulp_mapper_tcam_tbl_scan_ident_extract(parms, tbl, &data); in ulp_mapper_tcam_tbl_process()
1701 rc = ulp_mapper_tcam_tbl_result_create(parms, tbl, in ulp_mapper_tcam_tbl_process()
1705 rc = ulp_mapper_tcam_tbl_entry_write(parms, tbl, &key, in ulp_mapper_tcam_tbl_process()
1722 fid_parms.direction = tbl->direction; in ulp_mapper_tcam_tbl_process()
1723 fid_parms.resource_func = tbl->resource_func; in ulp_mapper_tcam_tbl_process()
1724 fid_parms.resource_type = tbl->resource_type; in ulp_mapper_tcam_tbl_process()
1725 fid_parms.critical_resource = tbl->critical_resource; in ulp_mapper_tcam_tbl_process()
1750 free_parms.dir = tbl->direction; in ulp_mapper_tcam_tbl_process()
1751 free_parms.tcam_tbl_type = tbl->resource_type; in ulp_mapper_tcam_tbl_process()
1756 tbl->resource_type, tbl->direction, idx); in ulp_mapper_tcam_tbl_process()
1763 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_em_tbl_process() argument
1785 kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); in ulp_mapper_em_tbl_process()
1792 if (!ulp_blob_init(&key, tbl->blob_key_bit_size, in ulp_mapper_em_tbl_process()
1794 !ulp_blob_init(&data, tbl->result_bit_size, in ulp_mapper_em_tbl_process()
1803 rc = ulp_mapper_keymask_field_process(parms, tbl->direction, in ulp_mapper_em_tbl_process()
1818 dflds = ulp_mapper_result_fields_get(parms, tbl, in ulp_mapper_em_tbl_process()
1831 tbl->direction, in ulp_mapper_em_tbl_process()
1842 if (tbl->resource_func == BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE) in ulp_mapper_em_tbl_process()
1857 iparms.dir = tbl->direction; in ulp_mapper_em_tbl_process()
1858 iparms.mem = tbl->resource_type; in ulp_mapper_em_tbl_process()
1860 iparms.key_sz_in_bits = tbl->key_bit_size; in ulp_mapper_em_tbl_process()
1862 iparms.em_record_sz_in_bits = tbl->result_bit_size; in ulp_mapper_em_tbl_process()
1872 tbl->resource_type == TF_MEM_EXTERNAL) in ulp_mapper_em_tbl_process()
1873 rc = ulp_mapper_mark_gfid_process(parms, tbl, iparms.flow_id); in ulp_mapper_em_tbl_process()
1875 tbl->resource_type == TF_MEM_INTERNAL) in ulp_mapper_em_tbl_process()
1876 rc = ulp_mapper_mark_act_ptr_process(parms, tbl); in ulp_mapper_em_tbl_process()
1884 fid_parms.direction = tbl->direction; in ulp_mapper_em_tbl_process()
1885 fid_parms.resource_func = tbl->resource_func; in ulp_mapper_em_tbl_process()
1886 fid_parms.resource_type = tbl->resource_type; in ulp_mapper_em_tbl_process()
1887 fid_parms.critical_resource = tbl->critical_resource; in ulp_mapper_em_tbl_process()
1917 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_index_tbl_process() argument
1943 if (tbl->encap_num_fields) in ulp_mapper_index_tbl_process()
1946 bit_size = tbl->result_bit_size; in ulp_mapper_index_tbl_process()
1956 flds = ulp_mapper_result_fields_get(parms, tbl, &num_flds, &encap_flds); in ulp_mapper_index_tbl_process()
1972 tbl->direction, in ulp_mapper_index_tbl_process()
1992 if (tbl->index_opcode == BNXT_ULP_INDEX_OPCODE_GLOBAL) { in ulp_mapper_index_tbl_process()
1994 if (tbl->index_operand < BNXT_ULP_GLB_REGFILE_INDEX_LAST && in ulp_mapper_index_tbl_process()
1996 tbl->direction, in ulp_mapper_index_tbl_process()
1997 tbl->index_operand, in ulp_mapper_index_tbl_process()
2000 tbl->index_operand); in ulp_mapper_index_tbl_process()
2004 sparms.dir = tbl->direction; in ulp_mapper_index_tbl_process()
2005 sparms.type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2027 if (tbl->srch_b4_alloc) { in ulp_mapper_index_tbl_process()
2029 srchparms.dir = tbl->direction; in ulp_mapper_index_tbl_process()
2030 srchparms.type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2038 tf_tbl_type_2_str(tbl->resource_type), in ulp_mapper_index_tbl_process()
2039 tf_dir_2_str(tbl->direction), rc); in ulp_mapper_index_tbl_process()
2044 tf_tbl_type_2_str(tbl->resource_type), in ulp_mapper_index_tbl_process()
2045 tf_dir_2_str(tbl->direction)); in ulp_mapper_index_tbl_process()
2051 aparms.dir = tbl->direction; in ulp_mapper_index_tbl_process()
2052 aparms.type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2053 aparms.search_enable = tbl->srch_b4_alloc; in ulp_mapper_index_tbl_process()
2062 tf_tbl_type_2_str(tbl->resource_type), in ulp_mapper_index_tbl_process()
2063 tf_dir_2_str(tbl->direction), rc); in ulp_mapper_index_tbl_process()
2073 if (tbl->resource_type == TF_TBL_TYPE_EXT) in ulp_mapper_index_tbl_process()
2080 if (tbl->index_opcode == BNXT_ULP_INDEX_OPCODE_ALLOCATE) { in ulp_mapper_index_tbl_process()
2081 rc = ulp_regfile_write(parms->regfile, tbl->index_operand, idx); in ulp_mapper_index_tbl_process()
2084 tbl->index_operand); in ulp_mapper_index_tbl_process()
2090 if (!tbl->srch_b4_alloc || !hit) { in ulp_mapper_index_tbl_process()
2091 sparms.dir = tbl->direction; in ulp_mapper_index_tbl_process()
2092 sparms.type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2111 fid_parms.direction = tbl->direction; in ulp_mapper_index_tbl_process()
2112 fid_parms.resource_func = tbl->resource_func; in ulp_mapper_index_tbl_process()
2113 fid_parms.resource_type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2114 fid_parms.resource_sub_type = tbl->resource_sub_type; in ulp_mapper_index_tbl_process()
2129 rc = ulp_mapper_mark_vfr_idx_process(parms, tbl); in ulp_mapper_index_tbl_process()
2140 free_parms.dir = tbl->direction; in ulp_mapper_index_tbl_process()
2141 free_parms.type = tbl->resource_type; in ulp_mapper_index_tbl_process()
2154 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_cache_tbl_process() argument
2170 kflds = ulp_mapper_key_fields_get(parms, tbl, &num_kflds); in ulp_mapper_cache_tbl_process()
2175 if (!ulp_blob_init(&key, tbl->key_bit_size, in ulp_mapper_cache_tbl_process()
2182 rc = ulp_mapper_keymask_field_process(parms, tbl->direction, in ulp_mapper_cache_tbl_process()
2207 (tbl->resource_sub_type << 1 | in ulp_mapper_cache_tbl_process()
2208 (tbl->direction & 0x1)), in ulp_mapper_cache_tbl_process()
2215 idents = ulp_mapper_ident_fields_get(parms, tbl, &num_idents); in ulp_mapper_cache_tbl_process()
2231 rc = ulp_mapper_ident_process(parms, tbl, in ulp_mapper_cache_tbl_process()
2268 fid_parms.direction = tbl->direction; in ulp_mapper_cache_tbl_process()
2269 fid_parms.resource_func = tbl->resource_func; in ulp_mapper_cache_tbl_process()
2276 tbl->resource_type, in ulp_mapper_cache_tbl_process()
2277 (tbl->resource_sub_type << 1 | in ulp_mapper_cache_tbl_process()
2278 (tbl->direction & 0x1))); in ulp_mapper_cache_tbl_process()
2280 fid_parms.critical_resource = tbl->critical_resource; in ulp_mapper_cache_tbl_process()
2299 fparms.dir = tbl->direction; in ulp_mapper_cache_tbl_process()
2310 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_if_tbl_process() argument
2323 if (!ulp_blob_init(&data, tbl->result_bit_size, in ulp_mapper_if_tbl_process()
2330 flds = ulp_mapper_result_fields_get(parms, tbl, &num_flds, &encap_flds); in ulp_mapper_if_tbl_process()
2341 tbl->direction, in ulp_mapper_if_tbl_process()
2352 if (tbl->index_opcode == BNXT_ULP_INDEX_OPCODE_COMP_FIELD) { in ulp_mapper_if_tbl_process()
2353 idx = ULP_COMP_FLD_IDX_RD(parms, tbl->index_operand); in ulp_mapper_if_tbl_process()
2354 } else if (tbl->index_opcode == BNXT_ULP_INDEX_OPCODE_CONSTANT) { in ulp_mapper_if_tbl_process()
2355 idx = tbl->index_operand; in ulp_mapper_if_tbl_process()
2362 iftbl_params.dir = tbl->direction; in ulp_mapper_if_tbl_process()
2363 iftbl_params.type = tbl->resource_type; in ulp_mapper_if_tbl_process()
2433 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_tbl_cond_opcode_process() argument
2437 switch (tbl->cond_opcode) { in ulp_mapper_tbl_cond_opcode_process()
2442 if (tbl->cond_operand < BNXT_ULP_CF_IDX_LAST && in ulp_mapper_tbl_cond_opcode_process()
2443 ULP_COMP_FLD_IDX_RD(parms, tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2448 tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2453 tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2457 if (tbl->cond_operand < BNXT_ULP_CF_IDX_LAST && in ulp_mapper_tbl_cond_opcode_process()
2458 !ULP_COMP_FLD_IDX_RD(parms, tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2463 tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2468 tbl->cond_operand)) in ulp_mapper_tbl_cond_opcode_process()
2488 struct bnxt_ulp_mapper_tbl_info *tbl) in ulp_mapper_tbl_memtype_opcode_process() argument
2495 switch (tbl->mem_type_opcode) { in ulp_mapper_tbl_memtype_opcode_process()
2531 struct bnxt_ulp_mapper_tbl_info *tbl = &tbls[i]; in ulp_mapper_tbls_process() local
2533 if (ulp_mapper_tbl_memtype_opcode_process(parms, tbl)) in ulp_mapper_tbls_process()
2535 if (ulp_mapper_tbl_cond_opcode_process(parms, tbl)) in ulp_mapper_tbls_process()
2538 switch (tbl->resource_func) { in ulp_mapper_tbls_process()
2540 rc = ulp_mapper_tcam_tbl_process(parms, tbl); in ulp_mapper_tbls_process()
2544 rc = ulp_mapper_em_tbl_process(parms, tbl); in ulp_mapper_tbls_process()
2547 rc = ulp_mapper_index_tbl_process(parms, tbl); in ulp_mapper_tbls_process()
2550 rc = ulp_mapper_cache_tbl_process(parms, tbl); in ulp_mapper_tbls_process()
2553 rc = ulp_mapper_if_tbl_process(parms, tbl); in ulp_mapper_tbls_process()
2557 tbl->resource_func); in ulp_mapper_tbls_process()
2564 tbl->resource_func); in ulp_mapper_tbls_process()
2905 struct bnxt_ulp_cache_tbl_params *tbl; in ulp_mapper_init() local
2941 tbl = ulp_mapper_cache_tbl_params_get(i); in ulp_mapper_init()
2942 if (!tbl) { in ulp_mapper_init()
2947 if (tbl->num_entries != 0) { in ulp_mapper_init()
2949 tbl->num_entries; in ulp_mapper_init()