Lines Matching refs:steer

96 static int mlx4_WRITE_PROMISC(struct mlx4_dev *dev, u8 port, u8 steer,  in mlx4_WRITE_PROMISC()  argument
101 in_mod = (u32) port << 16 | steer << 1; in mlx4_WRITE_PROMISC()
124 enum mlx4_steer_type steer, in get_promisc_qp() argument
133 s_steer = &mlx4_priv(dev)->steer[port - 1]; in get_promisc_qp()
135 list_for_each_entry(pqp, &s_steer->promisc_qps[steer], list) { in get_promisc_qp()
148 enum mlx4_steer_type steer, in new_steering_entry() argument
164 s_steer = &mlx4_priv(dev)->steer[port - 1]; in new_steering_entry()
171 list_add_tail(&new_entry->list, &s_steer->steer_entries[steer]); in new_steering_entry()
176 pqp = get_promisc_qp(dev, port, steer, qpn); in new_steering_entry()
188 if (list_empty(&s_steer->promisc_qps[steer])) in new_steering_entry()
207 list_for_each_entry(pqp, &s_steer->promisc_qps[steer], list) { in new_steering_entry()
240 enum mlx4_steer_type steer, in existing_steering_entry() argument
251 s_steer = &mlx4_priv(dev)->steer[port - 1]; in existing_steering_entry()
253 pqp = get_promisc_qp(dev, port, steer, qpn); in existing_steering_entry()
257 list_for_each_entry(tmp_entry, &s_steer->steer_entries[steer], list) { in existing_steering_entry()
289 enum mlx4_steer_type steer, in check_duplicate_entry() argument
299 s_steer = &mlx4_priv(dev)->steer[port - 1]; in check_duplicate_entry()
302 if (!get_promisc_qp(dev, port, steer, qpn)) in check_duplicate_entry()
307 list_for_each_entry(tmp_entry, &s_steer->steer_entries[steer], list) { in check_duplicate_entry()
330 enum mlx4_steer_type steer, in promisc_steering_entry() argument
356 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) { in promisc_steering_entry()
369 enum mlx4_steer_type steer, in can_remove_steering_entry() argument
380 s_steer = &mlx4_priv(dev)->steer[port - 1]; in can_remove_steering_entry()
382 if (!promisc_steering_entry(dev, port, steer, index, in can_remove_steering_entry()
389 list_for_each_entry_safe(entry, tmp_entry, &s_steer->steer_entries[steer], list) { in can_remove_steering_entry()
419 enum mlx4_steer_type steer, u32 qpn) in add_promisc_qp() argument
437 s_steer = &mlx4_priv(dev)->steer[port - 1]; in add_promisc_qp()
441 if (get_promisc_qp(dev, port, steer, qpn)) { in add_promisc_qp()
460 if (!(mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER)) { in add_promisc_qp()
466 &s_steer->steer_entries[steer], in add_promisc_qp()
515 list_add_tail(&pqp->list, &s_steer->promisc_qps[steer]); in add_promisc_qp()
519 list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list) { in add_promisc_qp()
529 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox); in add_promisc_qp()
549 enum mlx4_steer_type steer, u32 qpn) in remove_promisc_qp() argument
567 s_steer = &mlx4_priv(dev)->steer[port - 1]; in remove_promisc_qp()
570 pqp = get_promisc_qp(dev, port, steer, qpn); in remove_promisc_qp()
590 list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list) in remove_promisc_qp()
594 err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox); in remove_promisc_qp()
598 if (!(mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER)) { in remove_promisc_qp()
601 &s_steer->steer_entries[steer], in remove_promisc_qp()
671 list_add_tail(&pqp->list, &s_steer->promisc_qps[steer]); in remove_promisc_qp()
1106 enum mlx4_steer_type steer) in mlx4_qp_attach_common() argument
1194 err = new_steering_entry(dev, port, steer, in mlx4_qp_attach_common()
1197 err = existing_steering_entry(dev, port, steer, in mlx4_qp_attach_common()
1215 enum mlx4_protocol prot, enum mlx4_steer_type steer) in mlx4_qp_detach_common() argument
1249 check_duplicate_entry(dev, port, steer, index, qp->qpn) && in mlx4_qp_detach_common()
1250 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL)) in mlx4_qp_detach_common()
1272 removed_entry = can_remove_steering_entry(dev, port, steer, in mlx4_qp_detach_common()
1566 enum mlx4_steer_type steer = vhcr->in_modifier; in mlx4_PROMISC_wrapper() local
1572 if (mlx4_is_mfunc(dev) && steer == MLX4_UC_STEER) in mlx4_PROMISC_wrapper()
1576 return add_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1578 return remove_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1582 enum mlx4_steer_type steer, u8 add, u8 port) in mlx4_PROMISC() argument
1584 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add, in mlx4_PROMISC()