Lines Matching refs:qpn
126 u32 qpn) in get_promisc_qp() argument
137 if (pqp->qpn == qpn) in get_promisc_qp()
150 unsigned int index, u32 qpn) in new_steering_entry() argument
177 pqp = get_promisc_qp(dev, port, steer, qpn); in new_steering_entry()
184 dqp->qpn = qpn; in new_steering_entry()
210 if (pqp->qpn == qpn) in new_steering_entry()
219 mgm->qp[members_count++] = cpu_to_be32(pqp->qpn & MGM_QPN_MASK); in new_steering_entry()
242 unsigned int index, u32 qpn) in existing_steering_entry() argument
254 pqp = get_promisc_qp(dev, port, steer, qpn); in existing_steering_entry()
273 if (qpn == dqp->qpn) in existing_steering_entry()
281 dqp->qpn = qpn; in existing_steering_entry()
291 unsigned int index, u32 qpn) in check_duplicate_entry() argument
303 if (!get_promisc_qp(dev, port, steer, qpn)) in check_duplicate_entry()
319 if (dqp->qpn == qpn) { in check_duplicate_entry()
356 u32 qpn = be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK; in promisc_steering_entry() local
357 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) { in promisc_steering_entry()
420 enum mlx4_steer_type steer, u32 qpn) in add_promisc_qp() argument
442 if (get_promisc_qp(dev, port, steer, qpn)) { in add_promisc_qp()
452 pqp->qpn = qpn; in add_promisc_qp()
479 MGM_QPN_MASK) == qpn) { in add_promisc_qp()
488 dqp->qpn = qpn; in add_promisc_qp()
503 cpu_to_be32(qpn & MGM_QPN_MASK); in add_promisc_qp()
526 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK); in add_promisc_qp()
550 enum mlx4_steer_type steer, u32 qpn) in remove_promisc_qp() argument
571 pqp = get_promisc_qp(dev, port, steer, qpn); in remove_promisc_qp()
573 mlx4_warn(dev, "QP %x is not promiscuous QP\n", qpn); in remove_promisc_qp()
592 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK); in remove_promisc_qp()
606 if (dqp->qpn == qpn) { in remove_promisc_qp()
630 qpn, entry->index); in remove_promisc_qp()
638 MGM_QPN_MASK) == qpn) { in remove_promisc_qp()
645 qpn, entry->index); in remove_promisc_qp()
783 hw->qpn = cpu_to_be32(ctrl->qpn); in trans_rule_ctrl_to_hw()
910 rule->port, rule->priority, rule->qpn); in mlx4_err_rule()
1043 int port, int qpn, u16 prio, u64 *reg_id) in mlx4_tunnel_steer_add() argument
1060 rule.qpn = qpn; in mlx4_tunnel_steer_add()
1152 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) { in mlx4_qp_attach_common()
1153 mlx4_dbg(dev, "QP %06x already a member of MGM\n", qp->qpn); in mlx4_qp_attach_common()
1159 mgm->qp[members_count++] = cpu_to_be32((qp->qpn & MGM_QPN_MASK) | in mlx4_qp_attach_common()
1162 mgm->qp[members_count++] = cpu_to_be32(qp->qpn & MGM_QPN_MASK); in mlx4_qp_attach_common()
1188 index, qp->qpn); in mlx4_qp_attach_common()
1191 index, qp->qpn); in mlx4_qp_attach_common()
1242 check_duplicate_entry(dev, port, steer, index, qp->qpn) && in mlx4_qp_detach_common()
1243 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL)) in mlx4_qp_detach_common()
1248 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) { in mlx4_qp_detach_common()
1254 mlx4_err(dev, "QP %06x not found in MGM\n", qp->qpn); in mlx4_qp_detach_common()
1266 index, qp->qpn); in mlx4_qp_detach_common()
1334 int qpn; in mlx4_QP_ATTACH() local
1344 qpn = qp->qpn; in mlx4_QP_ATTACH()
1345 qpn |= (prot << 28); in mlx4_QP_ATTACH()
1347 qpn |= (1 << 31); in mlx4_QP_ATTACH()
1349 err = mlx4_cmd(dev, mailbox->dma, qpn, attach, in mlx4_QP_ATTACH()
1377 rule.qpn = qp->qpn; in mlx4_trans_to_dmfs_attach()
1458 u32 qpn, enum mlx4_net_trans_promisc_mode mode) in mlx4_flow_steer_promisc_add() argument
1479 rule.qpn = qpn; in mlx4_flow_steer_promisc_add()
1550 u32 qpn = (u32) vhcr->in_param & 0xffffffff; in mlx4_PROMISC_wrapper() local
1562 return add_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1564 return remove_promisc_qp(dev, port, steer, qpn); in mlx4_PROMISC_wrapper()
1567 static int mlx4_PROMISC(struct mlx4_dev *dev, u32 qpn, in mlx4_PROMISC() argument
1570 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add, in mlx4_PROMISC()
1575 int mlx4_multicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_multicast_promisc_add() argument
1578 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 1, port); in mlx4_multicast_promisc_add()
1580 return add_promisc_qp(dev, port, MLX4_MC_STEER, qpn); in mlx4_multicast_promisc_add()
1584 int mlx4_multicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_multicast_promisc_remove() argument
1587 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 0, port); in mlx4_multicast_promisc_remove()
1589 return remove_promisc_qp(dev, port, MLX4_MC_STEER, qpn); in mlx4_multicast_promisc_remove()
1593 int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_unicast_promisc_add() argument
1596 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 1, port); in mlx4_unicast_promisc_add()
1598 return add_promisc_qp(dev, port, MLX4_UC_STEER, qpn); in mlx4_unicast_promisc_add()
1602 int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port) in mlx4_unicast_promisc_remove() argument
1605 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 0, port); in mlx4_unicast_promisc_remove()
1607 return remove_promisc_qp(dev, port, MLX4_UC_STEER, qpn); in mlx4_unicast_promisc_remove()