Lines Matching refs:qp

38 #include <linux/mlx4/qp.h>
173 /* If the given qpn is also a promisc qp,
218 mgm->qp[members_count++] = cpu_to_be32(pqp->qpn & MGM_QPN_MASK);
273 return 0; /* qp is already duplicated */
276 /* add the qp as a duplicate on this index */
301 /* if qp is not promisc, it cannot be duplicated */
305 /* The qp is promisc qp so it is a duplicate on this index
355 u32 qpn = be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK;
357 /* the qp is not promisc, the entry can't be removed */
477 if ((be32_to_cpu(mgm->qp[i]) &
501 mgm->qp[members_count++] =
525 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK);
591 mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK);
636 if ((be32_to_cpu(mgm->qp[i]) &
652 mgm->qp[loc] = mgm->qp[members_count - 1];
653 mgm->qp[members_count - 1] = 0;
910 "port = %d prio = 0x%x qp = 0x%x ",
1104 int mlx4_qp_attach_common(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
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);
1214 int mlx4_qp_detach_common(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
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);
1267 mgm->qp[loc] = mgm->qp[members_count - 1];
1268 mgm->qp[members_count - 1] = 0;
1273 index, qp->qpn);
1335 static int mlx4_QP_ATTACH(struct mlx4_dev *dev, struct mlx4_qp *qp,
1351 qpn = qp->qpn;
1367 int mlx4_trans_to_dmfs_attach(struct mlx4_dev *dev, struct mlx4_qp *qp,
1384 rule.qpn = qp->qpn;
1407 int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
1422 return mlx4_QP_ATTACH(dev, qp, gid, 1,
1424 return mlx4_qp_attach_common(dev, qp, gid,
1429 return mlx4_trans_to_dmfs_attach(dev, qp, gid, port,
1438 int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16],
1452 return mlx4_QP_ATTACH(dev, qp, gid, 0, 0, prot);
1454 return mlx4_qp_detach_common(dev, qp, gid, prot,
1530 struct mlx4_qp *qp, u8 gid[16],
1537 return mlx4_QP_ATTACH(dev, qp, gid, 1,
1540 return mlx4_qp_attach_common(dev, qp, gid, block_mcast_loopback,
1545 int mlx4_unicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp,
1552 return mlx4_QP_ATTACH(dev, qp, gid, 0, 0, prot);
1554 return mlx4_qp_detach_common(dev, qp, gid, prot, MLX4_UC_STEER);