matcher           635 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher,
matcher           644 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           679 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c 				if (action->dest_tbl.tbl->level <= matcher->tbl->level) {
matcher           147 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher,
matcher           160 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mlx5dr_dbg(matcher->tbl->dmn,
matcher           168 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_set_ste_builders(struct mlx5dr_matcher *matcher,
matcher           173 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           193 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & DR_MATCHER_CRITERIA_OUTER)
matcher           194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mask.outer = matcher->mask.outer;
matcher           196 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC)
matcher           197 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mask.misc = matcher->mask.misc;
matcher           199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & DR_MATCHER_CRITERIA_INNER)
matcher           200 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mask.inner = matcher->mask.inner;
matcher           202 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC2)
matcher           203 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mask.misc2 = matcher->mask.misc2;
matcher           205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC3)
matcher           206 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mask.misc3 = matcher->mask.misc3;
matcher           208 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria,
matcher           209 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 					 &matcher->mask, NULL);
matcher           214 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & (DR_MATCHER_CRITERIA_OUTER |
matcher           305 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria & (DR_MATCHER_CRITERIA_INNER |
matcher           360 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria == DR_MATCHER_CRITERIA_EMPTY)
matcher           440 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_add_to_tbl(struct mlx5dr_matcher *matcher)
matcher           443 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_table *tbl = matcher->tbl;
matcher           451 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 			if (tmp_matcher->prio >= matcher->prio) {
matcher           468 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		ret = dr_matcher_connect(dmn, &matcher->rx,
matcher           477 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		ret = dr_matcher_connect(dmn, &matcher->tx,
matcher           485 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		list_add(&matcher->matcher_list, &prev_matcher->matcher_list);
matcher           487 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		list_add_tail(&matcher->matcher_list,
matcher           490 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		list_add(&matcher->matcher_list, &tbl->matcher_list);
matcher           501 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static void dr_matcher_uninit_fdb(struct mlx5dr_matcher *matcher)
matcher           503 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_uninit_nic(&matcher->rx);
matcher           504 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_uninit_nic(&matcher->tx);
matcher           507 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static void dr_matcher_uninit(struct mlx5dr_matcher *matcher)
matcher           509 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           513 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		dr_matcher_uninit_nic(&matcher->rx);
matcher           516 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		dr_matcher_uninit_nic(&matcher->tx);
matcher           519 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		dr_matcher_uninit_fdb(matcher);
matcher           527 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init_nic(struct mlx5dr_matcher *matcher,
matcher           530 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           533 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret_v4 = dr_matcher_set_ste_builders(matcher, nic_matcher, false);
matcher           534 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret_v6 = dr_matcher_set_ste_builders(matcher, nic_matcher, true);
matcher           573 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init_fdb(struct mlx5dr_matcher *matcher)
matcher           577 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret = dr_matcher_init_nic(matcher, &matcher->rx);
matcher           581 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret = dr_matcher_init_nic(matcher, &matcher->tx);
matcher           588 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_uninit_nic(&matcher->rx);
matcher           592 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_init(struct mlx5dr_matcher *matcher,
matcher           595 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_table *tbl = matcher->tbl;
matcher           599 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->match_criteria >= DR_MATCHER_CRITERIA_MAX) {
matcher           609 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		mlx5dr_ste_copy_param(matcher->match_criteria,
matcher           610 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 				      &matcher->mask, mask);
matcher           615 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		matcher->rx.nic_tbl = &tbl->rx;
matcher           616 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		ret = dr_matcher_init_nic(matcher, &matcher->rx);
matcher           619 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		matcher->tx.nic_tbl = &tbl->tx;
matcher           620 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		ret = dr_matcher_init_nic(matcher, &matcher->tx);
matcher           623 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		matcher->rx.nic_tbl = &tbl->rx;
matcher           624 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		matcher->tx.nic_tbl = &tbl->tx;
matcher           625 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		ret = dr_matcher_init_fdb(matcher);
matcher           641 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_matcher *matcher;
matcher           646 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	matcher = kzalloc(sizeof(*matcher), GFP_KERNEL);
matcher           647 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (!matcher)
matcher           650 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	matcher->tbl = tbl;
matcher           651 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	matcher->prio = priority;
matcher           652 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	matcher->match_criteria = match_criteria_enable;
matcher           653 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	refcount_set(&matcher->refcount, 1);
matcher           654 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	INIT_LIST_HEAD(&matcher->matcher_list);
matcher           658 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret = dr_matcher_init(matcher, mask);
matcher           662 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	ret = dr_matcher_add_to_tbl(matcher);
matcher           668 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	return matcher;
matcher           671 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_uninit(matcher);
matcher           674 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	kfree(matcher);
matcher           710 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c static int dr_matcher_remove_from_tbl(struct mlx5dr_matcher *matcher)
matcher           713 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_table *tbl = matcher->tbl;
matcher           717 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (list_is_last(&matcher->matcher_list, &tbl->matcher_list))
matcher           720 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		next_matcher = list_next_entry(matcher, matcher_list);
matcher           722 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (matcher->matcher_list.prev == &tbl->matcher_list)
matcher           725 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 		prev_matcher = list_prev_entry(matcher, matcher_list);
matcher           745 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	list_del(&matcher->matcher_list);
matcher           750 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher)
matcher           752 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	struct mlx5dr_table *tbl = matcher->tbl;
matcher           754 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	if (refcount_read(&matcher->refcount) > 1)
matcher           759 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_remove_from_tbl(matcher);
matcher           760 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	dr_matcher_uninit(matcher);
matcher           761 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	refcount_dec(&matcher->tbl->refcount);
matcher           764 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c 	kfree(matcher);
matcher            40 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_collision_htbl(struct mlx5dr_matcher *matcher,
matcher            44 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher            67 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_collision_entry(struct mlx5dr_matcher *matcher,
matcher            74 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste);
matcher            76 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Failed creating collision entry\n");
matcher            86 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	if (mlx5dr_ste_create_next_htbl(matcher, nic_matcher, ste, hw_ste,
matcher            88 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n");
matcher            95 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_free(ste, matcher, nic_matcher);
matcher           166 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_handle_collision(struct mlx5dr_matcher *matcher,
matcher           175 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	new_ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste);
matcher           187 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Failed update dup entry\n");
matcher           194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_free(new_ste, matcher, nic_matcher);
matcher           198 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static void dr_rule_rehash_copy_ste_ctrl(struct mlx5dr_matcher *matcher,
matcher           221 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_rehash_copy_ste(struct mlx5dr_matcher *matcher,
matcher           250 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		new_ste = dr_rule_rehash_handle_collision(matcher,
matcher           256 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Failed adding collision entry, index: %d\n",
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);
matcher           283 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_free(new_ste, matcher, nic_matcher);
matcher           287 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_rehash_copy_miss_list(struct mlx5dr_matcher *matcher,
matcher           299 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		new_ste = dr_rule_rehash_copy_ste(matcher,
matcher           313 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_err(matcher->tbl->dmn, "Fatal error during resize\n");
matcher           318 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_rehash_copy_htbl(struct mlx5dr_matcher *matcher,
matcher           332 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Invalid number of entries\n");
matcher           341 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		err = dr_rule_rehash_copy_miss_list(matcher,
matcher           363 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_matcher *matcher = rule->matcher;
matcher           364 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           402 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	err = dr_rule_rehash_copy_htbl(matcher,
matcher           478 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn;
matcher           492 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_handle_collision(struct mlx5dr_matcher *matcher,
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);
matcher           511 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Failed to update prev miss_list\n");
matcher           524 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_free(new_ste, matcher, nic_matcher);
matcher           593 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_ste_put(rule_mem->ste, rule->matcher, nic_rule->nic_matcher);
matcher           662 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_matcher *matcher = rule->matcher;
matcher           678 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		action_ste = dr_rule_create_collision_htbl(matcher,
matcher           699 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Failed adding rule member\n");
matcher           713 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_put(action_ste, matcher, nic_matcher);
matcher           717 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static int dr_rule_handle_empty_entry(struct mlx5dr_matcher *matcher,
matcher           742 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	if (mlx5dr_ste_create_next_htbl(matcher,
matcher           747 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n");
matcher           776 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_matcher *matcher = rule->matcher;
matcher           777 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           796 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		if (dr_rule_handle_empty_entry(matcher, nic_matcher, cur_htbl,
matcher           837 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			ste = dr_rule_handle_collision(matcher,
matcher           867 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c static bool dr_rule_verify(struct mlx5dr_matcher *matcher,
matcher           871 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	u8 match_criteria = matcher->match_criteria;
matcher           873 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	u8 *mask_p = (u8 *)&matcher->mask;
matcher           880 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		mlx5dr_dbg(matcher->tbl->dmn, "Rule parameters length is incorrect\n");
matcher           884 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_copy_param(matcher->match_criteria, param, value);
matcher           891 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Rule outer parameters contains a value not specified by mask\n");
matcher           901 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Rule misc parameters contains a value not specified by mask\n");
matcher           911 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Rule inner parameters contains a value not specified by mask\n");
matcher           921 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Rule misc2 parameters contains a value not specified by mask\n");
matcher           931 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 			mlx5dr_dbg(matcher->tbl->dmn, "Rule misc3 parameters contains a value not specified by mask\n");
matcher           954 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn;
matcher          1022 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_matcher *matcher = rule->matcher;
matcher          1023 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher          1039 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	if (dr_rule_skip(dmn->type, nic_dmn->ste_type, &matcher->mask, param))
matcher          1042 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	ret = mlx5dr_matcher_select_builders(matcher,
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);
matcher          1060 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	ret = mlx5dr_actions_build_ste_arr(matcher, nic_matcher, actions,
matcher          1122 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mlx5dr_ste_put(ste, matcher, nic_matcher);
matcher          1168 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c dr_rule_create_rule(struct mlx5dr_matcher *matcher,
matcher          1173 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher          1178 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	if (!dr_rule_verify(matcher, value, &param))
matcher          1185 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	rule->matcher = matcher;
matcher          1194 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		rule->rx.nic_matcher = &matcher->rx;
matcher          1199 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		rule->tx.nic_matcher = &matcher->tx;
matcher          1204 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		rule->rx.nic_matcher = &matcher->rx;
matcher          1205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		rule->tx.nic_matcher = &matcher->tx;
matcher          1227 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c struct mlx5dr_rule *mlx5dr_rule_create(struct mlx5dr_matcher *matcher,
matcher          1234 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mutex_lock(&matcher->tbl->dmn->mutex);
matcher          1235 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	refcount_inc(&matcher->refcount);
matcher          1237 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	rule = dr_rule_create_rule(matcher, value, num_actions, actions);
matcher          1239 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		refcount_dec(&matcher->refcount);
matcher          1241 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	mutex_unlock(&matcher->tbl->dmn->mutex);
matcher          1248 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_matcher *matcher = rule->matcher;
matcher          1249 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 	struct mlx5dr_table *tbl = rule->matcher->tbl;
matcher          1259 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c 		refcount_dec(&matcher->refcount);
matcher           450 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 		     struct mlx5dr_matcher *matcher,
matcher           454 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           598 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher,
matcher           606 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           731 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher,
matcher           737 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 	struct mlx5dr_domain *dmn = matcher->tbl->dmn;
matcher           741 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 	ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria,
matcher           742 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_ste.c 					 &matcher->mask, value);
matcher           246 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h 		     struct mlx5dr_matcher *matcher,
matcher           249 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h 				  struct mlx5dr_matcher *matcher,
matcher           254 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h 		mlx5dr_ste_free(ste, matcher, nic_matcher);
matcher           266 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher,
matcher           277 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher,
matcher           343 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher,
matcher           779 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h 	struct mlx5dr_matcher *matcher;
matcher           815 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher,
matcher           137 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c 	struct mlx5dr_matcher *matcher;
matcher           153 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c 	matcher = mlx5dr_matcher_create(ft->fs_dr_table.dr_table,
matcher           157 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c 	if (!matcher) {
matcher           162 drivers/net/ethernet/mellanox/mlx5/core/steering/fs_dr.c 	fg->fs_dr_matcher.dr_matcher = matcher;
matcher            61 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher);
matcher            64 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_rule_create(struct mlx5dr_matcher *matcher,
matcher           149 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher) { return 0; }
matcher           152 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h mlx5dr_rule_create(struct mlx5dr_matcher *matcher,