Lines Matching refs:steer
97 static int mlx4_WRITE_PROMISC(struct mlx4_dev *dev, u8 port, u8 steer, in mlx4_WRITE_PROMISC() argument
102 in_mod = (u32) port << 16 | steer << 1; in mlx4_WRITE_PROMISC()
125 enum mlx4_steer_type steer, in get_promisc_qp() argument
134 s_steer = &mlx4_priv(dev)->steer[port - 1]; in get_promisc_qp()
136 list_for_each_entry(pqp, &s_steer->promisc_qps[steer], list) { in get_promisc_qp()
149 enum mlx4_steer_type steer, in new_steering_entry() argument
165 s_steer = &mlx4_priv(dev)->steer[port - 1]; in new_steering_entry()
172 list_add_tail(&new_entry->list, &s_steer->steer_entries[steer]); in new_steering_entry()
177 pqp = get_promisc_qp(dev, port, steer, qpn); in new_steering_entry()
189 if (list_empty(&s_steer->promisc_qps[steer])) in new_steering_entry()
208 list_for_each_entry(pqp, &s_steer->promisc_qps[steer], list) { in new_steering_entry()
241 enum mlx4_steer_type steer, in existing_steering_entry() argument
252 s_steer = &mlx4_priv(dev)->steer[port - 1]; in existing_steering_entry()
254 pqp = get_promisc_qp(dev, port, steer, qpn); in existing_steering_entry()
258 list_for_each_entry(tmp_entry, &s_steer->steer_entries[steer], list) { in existing_steering_entry()
290 enum mlx4_steer_type steer, in check_duplicate_entry() argument
300 s_steer = &mlx4_priv(dev)->steer[port - 1]; in check_duplicate_entry()
303 if (!get_promisc_qp(dev, port, steer, qpn)) in check_duplicate_entry()
308 list_for_each_entry(tmp_entry, &s_steer->steer_entries[steer], list) { in check_duplicate_entry()
331 enum mlx4_steer_type steer, in promisc_steering_entry() argument
357 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) { in promisc_steering_entry()
370 enum mlx4_steer_type steer, in can_remove_steering_entry() argument
381 s_steer = &mlx4_priv(dev)->steer[port - 1]; in can_remove_steering_entry()
383 if (!promisc_steering_entry(dev, port, steer, index, in can_remove_steering_entry()
390 list_for_each_entry_safe(entry, tmp_entry, &s_steer->steer_entries[steer], list) { in can_remove_steering_entry()
420 enum mlx4_steer_type steer, u32 qpn) in add_promisc_qp() argument
438 s_steer = &mlx4_priv(dev)->steer[port - 1]; in add_promisc_qp()
442 if (get_promisc_qp(dev, port, steer, qpn)) { in add_promisc_qp()
461 if (!(mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER)) { in add_promisc_qp()
467 &s_steer->steer_entries[steer], in add_promisc_qp()
516 list_add_tail(&pqp->list, &s_steer->promisc_qps[steer]); in add_promisc_qp()
520 list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list) { in add_promisc_qp()
530 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox); in add_promisc_qp()
550 enum mlx4_steer_type steer, u32 qpn) in remove_promisc_qp() argument
568 s_steer = &mlx4_priv(dev)->steer[port - 1]; in remove_promisc_qp()
571 pqp = get_promisc_qp(dev, port, steer, qpn); in remove_promisc_qp()
591 list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list) in remove_promisc_qp()
595 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox); in remove_promisc_qp()
599 if (!(mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER)) { in remove_promisc_qp()
602 &s_steer->steer_entries[steer], in remove_promisc_qp()
672 list_add_tail(&pqp->list, &s_steer->promisc_qps[steer]); in remove_promisc_qp()
1099 enum mlx4_steer_type steer) in mlx4_qp_attach_common() argument
1187 new_steering_entry(dev, port, steer, index, qp->qpn); in mlx4_qp_attach_common()
1189 existing_steering_entry(dev, port, steer, in mlx4_qp_attach_common()
1207 enum mlx4_protocol prot, enum mlx4_steer_type steer) in mlx4_qp_detach_common() argument
1241 check_duplicate_entry(dev, port, steer, index, qp->qpn) && in mlx4_qp_detach_common()
1242 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL)) in mlx4_qp_detach_common()
1264 removed_entry = can_remove_steering_entry(dev, port, steer, in mlx4_qp_detach_common()
1551 enum mlx4_steer_type steer = vhcr->in_modifier; in mlx4_PROMISC_wrapper() local
1557 if (mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER) in mlx4_PROMISC_wrapper()
1561 return add_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1563 return remove_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1567 enum mlx4_steer_type steer, u8 add, u8 port) in mlx4_PROMISC() argument
1569 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add, in mlx4_PROMISC()