Lines Matching refs:qpn
125 u32 qpn)
136 if (pqp->qpn == qpn)
149 unsigned int index, u32 qpn)
173 /* If the given qpn is also a promisc qp,
176 pqp = get_promisc_qp(dev, port, steer, qpn);
183 dqp->qpn = qpn;
208 /* don't add already existing qpn */
209 if (pqp->qpn == qpn)
217 /* add the qpn */
218 mgm->qp[members_count++] = cpu_to_be32(pqp->qpn & MGM_QPN_MASK);
241 unsigned int index, u32 qpn)
253 pqp = get_promisc_qp(dev, port, steer, qpn);
268 /* the given qpn is listed as a promisc qpn
272 if (qpn == dqp->qpn)
280 dqp->qpn = qpn;
286 /* Check whether a qpn is a duplicate on steering entry
290 unsigned int index, u32 qpn)
302 if (!get_promisc_qp(dev, port, steer, qpn))
318 if (dqp->qpn == qpn) {
355 u32 qpn = be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK;
356 if (!get_promisc_qp(dev, port, steer, qpn) && qpn != tqpn) {
419 enum mlx4_steer_type steer, u32 qpn)
441 if (get_promisc_qp(dev, port, steer, qpn)) {
451 pqp->qpn = qpn;
478 MGM_QPN_MASK) == qpn) {
487 dqp->qpn = qpn;
494 /* Need to add the qpn to mgm */
502 cpu_to_be32(qpn & MGM_QPN_MASK);
514 /* add the new qpn to list of promisc qps */
525 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK);
549 enum mlx4_steer_type steer, u32 qpn)
570 pqp = get_promisc_qp(dev, port, steer, qpn);
572 mlx4_warn(dev, "QP %x is not promiscuous QP\n", qpn);
591 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK);
605 if (dqp->qpn == qpn) {
629 qpn, entry->index);
637 MGM_QPN_MASK) == qpn) {
644 qpn, entry->index);
784 hw->qpn = cpu_to_be32(ctrl->qpn);
911 rule->port, rule->priority, rule->qpn);
989 if (!mlx4_qp_lookup(dev, rule->qpn)) {
1050 int port, int qpn, u16 prio, u64 *reg_id)
1067 rule.qpn = qpn;
1159 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) {
1160 mlx4_dbg(dev, "QP %06x already a member of MGM\n", qp->qpn);
1166 mgm->qp[members_count++] = cpu_to_be32((qp->qpn & MGM_QPN_MASK) |
1169 mgm->qp[members_count++] = cpu_to_be32(qp->qpn & MGM_QPN_MASK);
1195 index, qp->qpn);
1198 index, qp->qpn);
1249 check_duplicate_entry(dev, port, steer, index, qp->qpn) &&
1250 !promisc_steering_entry(dev, port, steer, index, qp->qpn, NULL))
1255 if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) {
1261 mlx4_err(dev, "QP %06x not found in MGM\n", qp->qpn);
1273 index, qp->qpn);
1341 int qpn;
1351 qpn = qp->qpn;
1352 qpn |= (prot << 28);
1354 qpn |= (1 << 31);
1356 err = mlx4_cmd(dev, mailbox->dma, qpn, attach,
1384 rule.qpn = qp->qpn;
1467 u32 qpn, enum mlx4_net_trans_promisc_mode mode)
1493 rule.qpn = qpn;
1564 u32 qpn = (u32) vhcr->in_param & 0xffffffff;
1576 return add_promisc_qp(dev, port, steer, qpn);
1578 return remove_promisc_qp(dev, port, steer, qpn);
1581 static int mlx4_PROMISC(struct mlx4_dev *dev, u32 qpn,
1584 return mlx4_cmd(dev, (u64) qpn | (u64) port << 62, (u32) steer, add,
1589 int mlx4_multicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1592 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 1, port);
1594 return add_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1598 int mlx4_multicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1601 return mlx4_PROMISC(dev, qpn, MLX4_MC_STEER, 0, port);
1603 return remove_promisc_qp(dev, port, MLX4_MC_STEER, qpn);
1607 int mlx4_unicast_promisc_add(struct mlx4_dev *dev, u32 qpn, u8 port)
1610 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 1, port);
1612 return add_promisc_qp(dev, port, MLX4_UC_STEER, qpn);
1616 int mlx4_unicast_promisc_remove(struct mlx4_dev *dev, u32 qpn, u8 port)
1619 return mlx4_PROMISC(dev, qpn, MLX4_UC_STEER, 0, port);
1621 return remove_promisc_qp(dev, port, MLX4_UC_STEER, qpn);