Lines Matching refs:ibqp
206 struct ib_qp *ibqp = &to_mibqp(qp)->ibqp; in mlx4_ib_qp_event() local
211 if (ibqp->event_handler) { in mlx4_ib_qp_event()
212 event.device = ibqp->device; in mlx4_ib_qp_event()
213 event.element.qp = ibqp; in mlx4_ib_qp_event()
245 ibqp->event_handler(&event, ibqp->qp_context); in mlx4_ib_qp_event()
735 qp->ibqp.qp_num = qp->mqp.qpn; in _mlx4_ib_create_qp_rss()
1305 if (qp->ibqp.qp_type == IB_QPT_XRC_TGT) in get_pd()
1306 return to_mpd(to_mxrcd(qp->ibqp.xrcd)->pd); in get_pd()
1308 return to_mpd(qp->ibqp.pd); in get_pd()
1314 switch (qp->ibqp.qp_type) { in get_cqs()
1316 *send_cq = to_mcq(to_mxrcd(qp->ibqp.xrcd)->cq); in get_cqs()
1320 *send_cq = to_mcq(qp->ibqp.send_cq); in get_cqs()
1324 *recv_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.recv_cq) : in get_cqs()
1326 *send_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.send_cq) : in get_cqs()
1337 for (i = 0; i < (1 << qp->ibqp.rwq_ind_tbl->log_ind_tbl_size); in destroy_qp_rss()
1339 struct ib_wq *ibwq = qp->ibqp.rwq_ind_tbl->ind_tbl[i]; in destroy_qp_rss()
1407 qp->ibqp.srq ? to_msrq(qp->ibqp.srq): NULL); in destroy_qp_common()
1541 qp->ibqp.qp_num = qp->mqp.qpn; in _mlx4_ib_create_qp()
1567 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 : in _mlx4_ib_create_qp()
1618 return &qp->ibqp; in mlx4_ib_create_qp()
2105 struct ib_qp *ibqp; in __mlx4_ib_modify_qp() local
2107 ibqp = (struct ib_qp *)src; in __mlx4_ib_modify_qp()
2108 ibsrq = ibqp->srq; in __mlx4_ib_modify_qp()
2109 rwq_ind_tbl = ibqp->rwq_ind_tbl; in __mlx4_ib_modify_qp()
2110 qp_type = ibqp->qp_type; in __mlx4_ib_modify_qp()
2111 qp = to_mqp(ibqp); in __mlx4_ib_modify_qp()
2112 dev = to_mdev(ibqp->device); in __mlx4_ib_modify_qp()
2658 static int _mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in _mlx4_ib_modify_qp() argument
2661 struct mlx4_ib_dev *dev = to_mdev(ibqp->device); in _mlx4_ib_modify_qp()
2662 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_modify_qp()
2670 if (!ib_modify_qp_is_ok(cur_state, new_state, ibqp->qp_type, in _mlx4_ib_modify_qp()
2675 ibqp->qp_num, cur_state, new_state, in _mlx4_ib_modify_qp()
2676 ibqp->qp_type, attr_mask); in _mlx4_ib_modify_qp()
2680 if (ibqp->rwq_ind_tbl) { in _mlx4_ib_modify_qp()
2686 ibqp->qp_num, cur_state, new_state); in _mlx4_ib_modify_qp()
2694 ibqp->qp_num, attr_mask, cur_state, new_state); in _mlx4_ib_modify_qp()
2703 if ((ibqp->qp_type == IB_QPT_RC) || in _mlx4_ib_modify_qp()
2704 (ibqp->qp_type == IB_QPT_UD) || in _mlx4_ib_modify_qp()
2705 (ibqp->qp_type == IB_QPT_UC) || in _mlx4_ib_modify_qp()
2706 (ibqp->qp_type == IB_QPT_RAW_PACKET) || in _mlx4_ib_modify_qp()
2707 (ibqp->qp_type == IB_QPT_XRC_INI)) { in _mlx4_ib_modify_qp()
2721 ibqp->qp_num, attr->port_num, cur_state, in _mlx4_ib_modify_qp()
2722 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2726 if ((attr_mask & IB_QP_PORT) && (ibqp->qp_type == IB_QPT_RAW_PACKET) && in _mlx4_ib_modify_qp()
2736 ibqp->qp_num, attr->pkey_index, cur_state, in _mlx4_ib_modify_qp()
2737 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2746 ibqp->qp_num, attr->max_rd_atomic, cur_state, in _mlx4_ib_modify_qp()
2747 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2755 ibqp->qp_num, attr->max_dest_rd_atomic, cur_state, in _mlx4_ib_modify_qp()
2756 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2765 if (ibqp->rwq_ind_tbl && (new_state == IB_QPS_INIT)) { in _mlx4_ib_modify_qp()
2766 err = bringup_rss_rwqs(ibqp->rwq_ind_tbl, attr->port_num, in _mlx4_ib_modify_qp()
2772 err = __mlx4_ib_modify_qp(ibqp, MLX4_IB_QP_SRC, attr, attr_mask, in _mlx4_ib_modify_qp()
2775 if (ibqp->rwq_ind_tbl && err) in _mlx4_ib_modify_qp()
2776 bring_down_rss_rwqs(ibqp->rwq_ind_tbl, udata); in _mlx4_ib_modify_qp()
2786 int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in mlx4_ib_modify_qp() argument
2789 struct mlx4_ib_qp *mqp = to_mqp(ibqp); in mlx4_ib_modify_qp()
2792 ret = _mlx4_ib_modify_qp(ibqp, attr, attr_mask, udata); in mlx4_ib_modify_qp()
2824 struct mlx4_ib_dev *mdev = to_mdev(qp->ibqp.device); in build_sriov_qp0_header()
2826 struct ib_device *ib_dev = qp->ibqp.device; in build_sriov_qp0_header()
2977 struct ib_device *ib_dev = qp->ibqp.device; in build_mlx_header()
3001 is_eth = rdma_port_get_link_layer(qp->ibqp.device, qp->port) == IB_LINK_LAYER_ETHERNET; in build_mlx_header()
3106 cpu_to_be32((!qp->ibqp.qp_num ? MLX4_WQE_MLX_VL15 : 0) | in build_mlx_header()
3158 !qp->ibqp.qp_num ? in build_mlx_header()
3163 if (qp->ibqp.qp_num && sqp->ud_header.lrh.virtual_lane == 15) in build_mlx_header()
3169 if (!qp->ibqp.qp_num) in build_mlx_header()
3183 sqp->ud_header.deth.source_qpn = cpu_to_be32(qp->ibqp.qp_num); in build_mlx_header()
3485 static int _mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in _mlx4_ib_post_send() argument
3488 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_post_send()
3503 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device); in _mlx4_ib_post_send()
3539 if (mlx4_wq_overflow(&qp->sq, nreq, qp->ibqp.send_cq)) { in _mlx4_ib_post_send()
3692 set_tunnel_datagram_seg(to_mdev(ibqp->device), wqe, in _mlx4_ib_post_send()
3788 to_mdev(ibqp->device)->uar_map + MLX4_SEND_DOORBELL); in _mlx4_ib_post_send()
3800 int mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in mlx4_ib_post_send() argument
3803 return _mlx4_ib_post_send(ibqp, wr, bad_wr, false); in mlx4_ib_post_send()
3806 static int _mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in _mlx4_ib_post_recv() argument
3809 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_post_recv()
3817 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device); in _mlx4_ib_post_recv()
3833 if (mlx4_wq_overflow(&qp->rq, nreq, qp->ibqp.recv_cq)) { in _mlx4_ib_post_recv()
3849 ib_dma_sync_single_for_device(ibqp->device, in _mlx4_ib_post_recv()
3894 int mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in mlx4_ib_post_recv() argument
3897 return _mlx4_ib_post_recv(ibqp, wr, bad_wr, false); in mlx4_ib_post_recv()
3973 int mlx4_ib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask, in mlx4_ib_query_qp() argument
3976 struct mlx4_ib_dev *dev = to_mdev(ibqp->device); in mlx4_ib_query_qp()
3977 struct mlx4_ib_qp *qp = to_mqp(ibqp); in mlx4_ib_query_qp()
3982 if (ibqp->rwq_ind_tbl) in mlx4_ib_query_qp()
4012 if (qp->ibqp.qp_type == IB_QPT_RC || qp->ibqp.qp_type == IB_QPT_UC) { in mlx4_ib_query_qp()
4045 if (!ibqp->uobject) { in mlx4_ib_query_qp()