Lines Matching refs:qpn
125 u32 qpn) in get_promisc_qp() argument
136 if (pqp->qpn == qpn) in get_promisc_qp()
149 unsigned int index, u32 qpn) in new_steering_entry() argument
176 pqp = get_promisc_qp(dev, port, steer, qpn); in new_steering_entry()
183 dqp->qpn = qpn; in new_steering_entry()
209 if (pqp->qpn == qpn) in new_steering_entry()
218 mgm->qp[members_count++] = cpu_to_be32(pqp->qpn & MGM_QPN_MASK); in new_steering_entry()
241 unsigned int index, u32 qpn) in existing_steering_entry() argument
253 pqp = get_promisc_qp(dev, port, steer, qpn); in existing_steering_entry()
272 if (qpn == dqp->qpn) in existing_steering_entry()
280 dqp->qpn = qpn; in existing_steering_entry()
290 unsigned int index, u32 qpn) in check_duplicate_entry() argument
302 if (!get_promisc_qp(dev, port, steer, qpn)) in check_duplicate_entry()
318 if (dqp->qpn == qpn) { in check_duplicate_entry()
355 u32 qpn = be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK; in promisc_steering_entry() local
356 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) { in promisc_steering_entry()
419 enum mlx4_steer_type steer, u32 qpn) in add_promisc_qp() argument
441 if (get_promisc_qp(dev, port, steer, qpn)) { in add_promisc_qp()
451 pqp->qpn = qpn; in add_promisc_qp()
478 MGM_QPN_MASK) == qpn) { in add_promisc_qp()
487 dqp->qpn = qpn; in add_promisc_qp()
502 cpu_to_be32(qpn & MGM_QPN_MASK); in add_promisc_qp()
525 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK); in add_promisc_qp()
549 enum mlx4_steer_type steer, u32 qpn) in remove_promisc_qp() argument
570 pqp = get_promisc_qp(dev, port, steer, qpn); in remove_promisc_qp()
572 mlx4_warn(dev, "QP %x is not promiscuous QP\n", qpn); in remove_promisc_qp()
591 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK); in remove_promisc_qp()
605 if (dqp->qpn == qpn) { in remove_promisc_qp()
629 qpn, entry->index); in remove_promisc_qp()
637 MGM_QPN_MASK) == qpn) { in remove_promisc_qp()
644 qpn, entry->index); in remove_promisc_qp()
784 hw->qpn = cpu_to_be32(ctrl->qpn); in trans_rule_ctrl_to_hw()
911 rule->port, rule->priority, rule->qpn); in mlx4_err_rule()
989 if (!mlx4_qp_lookup(dev, rule->qpn)) { in mlx4_flow_attach()
1050 int port, int qpn, u16 prio, u64 *reg_id) in mlx4_tunnel_steer_add() argument
1067 rule.qpn = qpn; in mlx4_tunnel_steer_add()
1159 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) { in mlx4_qp_attach_common()
1160 mlx4_dbg(dev, "QP %06x already a member of MGM\n", qp->qpn); in mlx4_qp_attach_common()
1166 mgm->qp[members_count++] = cpu_to_be32((qp->qpn & MGM_QPN_MASK) | in mlx4_qp_attach_common()
1169 mgm->qp[members_count++] = cpu_to_be32(qp->qpn & MGM_QPN_MASK); in mlx4_qp_attach_common()
1195 index, qp->qpn); in mlx4_qp_attach_common()
1198 index, qp->qpn); in mlx4_qp_attach_common()
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()
1255 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) { in mlx4_qp_detach_common()
1261 mlx4_err(dev, "QP %06x not found in MGM\n", qp->qpn); in mlx4_qp_detach_common()
1273 index, qp->qpn); in mlx4_qp_detach_common()
1341 int qpn; in mlx4_QP_ATTACH() local
1351 qpn = qp->qpn; in mlx4_QP_ATTACH()
1352 qpn |= (prot << 28); in mlx4_QP_ATTACH()
1354 qpn |= (1 << 31); in mlx4_QP_ATTACH()
1356 err = mlx4_cmd(dev, mailbox->dma, qpn, attach, in mlx4_QP_ATTACH()
1384 rule.qpn = qp->qpn; in mlx4_trans_to_dmfs_attach()
1465 u32 qpn, enum mlx4_net_trans_promisc_mode mode) in mlx4_flow_steer_promisc_add() argument
1491 rule.qpn = qpn; in mlx4_flow_steer_promisc_add()
1562 u32 qpn = (u32) vhcr->in_param & 0xffffffff; in mlx4_PROMISC_wrapper() local
1574 return add_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1576 return remove_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1579 static int mlx4_PROMISC(struct mlx4_dev *dev, u32 qpn, in mlx4_PROMISC() argument
1582 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add, in mlx4_PROMISC()
1587 int mlx4_multicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_multicast_promisc_add() argument
1590 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 1, port); in mlx4_multicast_promisc_add()
1592 return add_promisc_qp(dev, port, MLX4_MC_STEER, qpn); in mlx4_multicast_promisc_add()
1596 int mlx4_multicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_multicast_promisc_remove() argument
1599 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 0, port); in mlx4_multicast_promisc_remove()
1601 return remove_promisc_qp(dev, port, MLX4_MC_STEER, qpn); in mlx4_multicast_promisc_remove()
1605 int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_unicast_promisc_add() argument
1608 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 1, port); in mlx4_unicast_promisc_add()
1610 return add_promisc_qp(dev, port, MLX4_UC_STEER, qpn); in mlx4_unicast_promisc_add()
1614 int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_unicast_promisc_remove() argument
1617 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 0, port); in mlx4_unicast_promisc_remove()
1619 return remove_promisc_qp(dev, port, MLX4_UC_STEER, qpn); in mlx4_unicast_promisc_remove()