Lines Matching defs:ibqp

215 	struct ib_qp *ibqp = &to_mibqp(qpe_work->qp)->ibqp;
218 event.device = ibqp->device;
219 event.element.qp = ibqp;
252 ibqp->event_handler(&event, ibqp->qp_context);
261 struct ib_qp *ibqp = &to_mibqp(qp)->ibqp;
267 if (!ibqp->event_handler)
774 qp->ibqp.qp_num = qp->mqp.qpn;
1344 if (qp->ibqp.qp_type == IB_QPT_XRC_TGT)
1345 return to_mpd(to_mxrcd(qp->ibqp.xrcd)->pd);
1347 return to_mpd(qp->ibqp.pd);
1353 switch (qp->ibqp.qp_type) {
1355 *send_cq = to_mcq(to_mxrcd(qp->ibqp.xrcd)->cq);
1359 *send_cq = to_mcq(qp->ibqp.send_cq);
1363 *recv_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.recv_cq) :
1365 *send_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.send_cq) :
1376 for (i = 0; i < (1 << qp->ibqp.rwq_ind_tbl->log_ind_tbl_size);
1378 struct ib_wq *ibwq = qp->ibqp.rwq_ind_tbl->ind_tbl[i];
1446 qp->ibqp.srq ? to_msrq(qp->ibqp.srq): NULL);
1580 qp->ibqp.qp_num = qp->mqp.qpn;
1608 rdma_restrack_no_track(&qp->ibqp.res);
1611 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 :
1622 int mlx4_ib_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
1625 struct ib_device *device = ibqp->device;
1627 struct mlx4_ib_qp *qp = to_mqp(ibqp);
1628 struct ib_pd *pd = ibqp->pd;
2142 struct ib_qp *ibqp;
2144 ibqp = (struct ib_qp *)src;
2145 ibsrq = ibqp->srq;
2146 rwq_ind_tbl = ibqp->rwq_ind_tbl;
2147 qp_type = ibqp->qp_type;
2148 qp = to_mqp(ibqp);
2149 dev = to_mdev(ibqp->device);
2695 static int _mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
2698 struct mlx4_ib_dev *dev = to_mdev(ibqp->device);
2699 struct mlx4_ib_qp *qp = to_mqp(ibqp);
2707 if (!ib_modify_qp_is_ok(cur_state, new_state, ibqp->qp_type,
2712 ibqp->qp_num, cur_state, new_state,
2713 ibqp->qp_type, attr_mask);
2717 if (ibqp->rwq_ind_tbl) {
2723 ibqp->qp_num, cur_state, new_state);
2731 ibqp->qp_num, attr_mask, cur_state, new_state);
2740 if ((ibqp->qp_type == IB_QPT_RC) ||
2741 (ibqp->qp_type == IB_QPT_UD) ||
2742 (ibqp->qp_type == IB_QPT_UC) ||
2743 (ibqp->qp_type == IB_QPT_RAW_PACKET) ||
2744 (ibqp->qp_type == IB_QPT_XRC_INI)) {
2758 ibqp->qp_num, attr->port_num, cur_state,
2759 new_state, ibqp->qp_type);
2763 if ((attr_mask & IB_QP_PORT) && (ibqp->qp_type == IB_QPT_RAW_PACKET) &&
2773 ibqp->qp_num, attr->pkey_index, cur_state,
2774 new_state, ibqp->qp_type);
2783 ibqp->qp_num, attr->max_rd_atomic, cur_state,
2784 new_state, ibqp->qp_type);
2792 ibqp->qp_num, attr->max_dest_rd_atomic, cur_state,
2793 new_state, ibqp->qp_type);
2802 if (ibqp->rwq_ind_tbl && (new_state == IB_QPS_INIT)) {
2803 err = bringup_rss_rwqs(ibqp->rwq_ind_tbl, attr->port_num,
2809 err = __mlx4_ib_modify_qp(ibqp, MLX4_IB_QP_SRC, attr, attr_mask,
2812 if (ibqp->rwq_ind_tbl && err)
2813 bring_down_rss_rwqs(ibqp->rwq_ind_tbl, udata);
2823 int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
2826 struct mlx4_ib_qp *mqp = to_mqp(ibqp);
2832 ret = _mlx4_ib_modify_qp(ibqp, attr, attr_mask, udata);
2864 struct mlx4_ib_dev *mdev = to_mdev(qp->ibqp.device);
2866 struct ib_device *ib_dev = qp->ibqp.device;
3017 struct ib_device *ib_dev = qp->ibqp.device;
3041 is_eth = rdma_port_get_link_layer(qp->ibqp.device, qp->port) == IB_LINK_LAYER_ETHERNET;
3146 cpu_to_be32((!qp->ibqp.qp_num ? MLX4_WQE_MLX_VL15 : 0) |
3195 !qp->ibqp.qp_num ?
3200 if (qp->ibqp.qp_num && sqp->ud_header.lrh.virtual_lane == 15)
3206 if (!qp->ibqp.qp_num)
3220 sqp->ud_header.deth.source_qpn = cpu_to_be32(qp->ibqp.qp_num);
3522 static int _mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
3525 struct mlx4_ib_qp *qp = to_mqp(ibqp);
3540 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device);
3576 if (mlx4_wq_overflow(&qp->sq, nreq, qp->ibqp.send_cq)) {
3729 set_tunnel_datagram_seg(to_mdev(ibqp->device), wqe,
3825 to_mdev(ibqp->device)->uar_map + MLX4_SEND_DOORBELL);
3837 int mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
3840 return _mlx4_ib_post_send(ibqp, wr, bad_wr, false);
3843 static int _mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
3846 struct mlx4_ib_qp *qp = to_mqp(ibqp);
3854 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device);
3870 if (mlx4_wq_overflow(&qp->rq, nreq, qp->ibqp.recv_cq)) {
3886 ib_dma_sync_single_for_device(ibqp->device,
3931 int mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
3934 return _mlx4_ib_post_recv(ibqp, wr, bad_wr, false);
4010 int mlx4_ib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask,
4013 struct mlx4_ib_dev *dev = to_mdev(ibqp->device);
4014 struct mlx4_ib_qp *qp = to_mqp(ibqp);
4019 if (ibqp->rwq_ind_tbl)
4049 if (qp->ibqp.qp_type == IB_QPT_RC || qp->ibqp.qp_type == IB_QPT_UC ||
4050 qp->ibqp.qp_type == IB_QPT_XRC_INI ||
4051 qp->ibqp.qp_type == IB_QPT_XRC_TGT) {
4084 if (!ibqp->uobject) {