nic_matcher 636 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 642 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c struct mlx5dr_domain_rx_tx *nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 786 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c *new_hw_ste_arr_sz = nic_matcher->num_of_builders; nic_matcher 787 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c last_ste = ste_arr + DR_STE_SIZE * (nic_matcher->num_of_builders - 1); nic_matcher 148 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 152 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder = nic_matcher->ste_builder6; nic_matcher 153 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->num_of_builders = nic_matcher->num_of_builders6; nic_matcher 155 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder = nic_matcher->ste_builder4; nic_matcher 156 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->num_of_builders = nic_matcher->num_of_builders4; nic_matcher 159 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (!nic_matcher->num_of_builders) { nic_matcher 169 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 172 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_domain_rx_tx *nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 183 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c sb = nic_matcher->ste_builder6; nic_matcher 184 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c num_of_builders = &nic_matcher->num_of_builders6; nic_matcher 186 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c sb = nic_matcher->ste_builder4; nic_matcher 187 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c num_of_builders = &nic_matcher->num_of_builders4; nic_matcher 495 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static void dr_matcher_uninit_nic(struct mlx5dr_matcher_rx_tx *nic_matcher) nic_matcher 497 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_htbl_put(nic_matcher->s_htbl); nic_matcher 498 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_htbl_put(nic_matcher->e_anchor); nic_matcher 528 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c struct mlx5dr_matcher_rx_tx *nic_matcher) nic_matcher 533 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret_v4 = dr_matcher_set_ste_builders(matcher, nic_matcher, false); nic_matcher 534 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c ret_v6 = dr_matcher_set_ste_builders(matcher, nic_matcher, true); nic_matcher 542 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder = nic_matcher->ste_builder4; nic_matcher 544 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder = nic_matcher->ste_builder6; nic_matcher 546 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->e_anchor = mlx5dr_ste_htbl_alloc(dmn->ste_icm_pool, nic_matcher 550 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (!nic_matcher->e_anchor) nic_matcher 553 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->s_htbl = mlx5dr_ste_htbl_alloc(dmn->ste_icm_pool, nic_matcher 555 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder[0].lu_type, nic_matcher 556 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c nic_matcher->ste_builder[0].byte_mask); nic_matcher 557 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c if (!nic_matcher->s_htbl) { nic_matcher 563 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_htbl_get(nic_matcher->s_htbl); nic_matcher 564 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_htbl_get(nic_matcher->e_anchor); nic_matcher 569 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c mlx5dr_ste_htbl_free(nic_matcher->e_anchor); nic_matcher 41 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 60 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_set_miss_addr(hw_ste, nic_matcher->e_anchor->chunk->icm_addr); nic_matcher 68 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 74 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste); nic_matcher 86 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (mlx5dr_ste_create_next_htbl(matcher, nic_matcher, ste, hw_ste, nic_matcher 95 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(ste, matcher, nic_matcher); nic_matcher 167 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 175 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste); nic_matcher 194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); nic_matcher 199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 206 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (!mlx5dr_ste_is_last_in_rule(nic_matcher, new_ste->ste_chain_location)) nic_matcher 222 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 236 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_set_bit_mask(hw_ste, nic_matcher->ste_builder[sb_idx].bit_mask); nic_matcher 240 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_set_miss_addr(hw_ste, nic_matcher->e_anchor->chunk->icm_addr); nic_matcher 251 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 278 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_copy_ste_ctrl(matcher, nic_matcher, cur_ste, new_ste); nic_matcher 283 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); nic_matcher 288 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 300 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 319 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 342 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 365 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher; nic_matcher 375 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher = nic_rule->nic_matcher; nic_matcher 376 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 393 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c info.miss_icm_addr = nic_matcher->e_anchor->chunk->icm_addr; nic_matcher 403 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 411 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher->ste_builder[ste_location - 1].bit_mask)) { nic_matcher 434 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher->s_htbl = new_htbl; nic_matcher 493 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 506 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c new_ste = dr_rule_create_collision_entry(matcher, nic_matcher, hw_ste, ste); nic_matcher 524 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_free(new_ste, matcher, nic_matcher); nic_matcher 593 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(rule_mem->ste, rule->matcher, nic_rule->nic_matcher); nic_matcher 659 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher = nic_rule->nic_matcher; nic_matcher 661 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c u8 num_of_builders = nic_matcher->num_of_builders; nic_matcher 679 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 713 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(action_ste, matcher, nic_matcher); nic_matcher 718 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 734 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_set_miss_addr(hw_ste, nic_matcher->e_anchor->chunk->icm_addr); nic_matcher 743 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 778 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher; nic_matcher 787 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher = nic_rule->nic_matcher; nic_matcher 788 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 796 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (dr_rule_handle_empty_entry(matcher, nic_matcher, cur_htbl, nic_matcher 809 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c if (!mlx5dr_ste_is_last_in_rule(nic_matcher, ste_location)) nic_matcher 838 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 1024 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_matcher_rx_tx *nic_matcher; nic_matcher 1034 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher = nic_rule->nic_matcher; nic_matcher 1035 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 1043 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c nic_matcher, nic_matcher 1055 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = mlx5dr_ste_build_ste_arr(matcher, nic_matcher, param, hw_ste_arr); nic_matcher 1060 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c ret = mlx5dr_actions_build_ste_arr(matcher, nic_matcher, actions, nic_matcher 1066 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c cur_htbl = nic_matcher->s_htbl; nic_matcher 1072 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c for (i = 0; i < nic_matcher->num_of_builders; i++) { nic_matcher 1122 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c mlx5dr_ste_put(ste, matcher, nic_matcher); nic_matcher 1194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; nic_matcher 1199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; nic_matcher 1204 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->rx.nic_matcher = &matcher->rx; nic_matcher 1205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c rule->tx.nic_matcher = &matcher->tx; nic_matcher 318 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c bool mlx5dr_ste_is_last_in_rule(struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 321 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c return ste_location == nic_matcher->num_of_builders; nic_matcher 352 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 367 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c miss_addr = nic_matcher->e_anchor->chunk->icm_addr; nic_matcher 451 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_matcher_rx_tx *nic_matcher) nic_matcher 483 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c dr_ste_remove_head_ste(ste, nic_matcher, nic_matcher 599 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 605 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_domain_rx_tx *nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 610 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (!mlx5dr_ste_is_last_in_rule(nic_matcher, ste->ste_chain_location)) { nic_matcher 628 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c info.miss_icm_addr = nic_matcher->e_anchor->chunk->icm_addr; nic_matcher 732 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 736 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c struct mlx5dr_domain_rx_tx *nic_dmn = nic_matcher->nic_tbl->nic_dmn; nic_matcher 746 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c sb = nic_matcher->ste_builder; nic_matcher 747 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c for (i = 0; i < nic_matcher->num_of_builders; i++) { nic_matcher 760 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c if (i < (nic_matcher->num_of_builders - 1)) { nic_matcher 225 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h bool mlx5dr_ste_is_last_in_rule(struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 247 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher); nic_matcher 250 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher) nic_matcher 254 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h mlx5dr_ste_free(ste, matcher, nic_matcher); nic_matcher 267 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 278 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 344 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher, nic_matcher 775 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher; nic_matcher 816 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h struct mlx5dr_matcher_rx_tx *nic_matcher,