Lines Matching refs:ibqp
230 struct ib_qp *ibqp = &to_mibqp(qp)->ibqp; in mlx4_ib_qp_event() local
235 if (ibqp->event_handler) { in mlx4_ib_qp_event()
236 event.device = ibqp->device; in mlx4_ib_qp_event()
237 event.element.qp = ibqp; in mlx4_ib_qp_event()
269 ibqp->event_handler(&event, ibqp->qp_context); in mlx4_ib_qp_event()
768 qp->ibqp.qp_num = qp->mqp.qpn; in _mlx4_ib_create_qp_rss()
770 return &qp->ibqp; in _mlx4_ib_create_qp_rss()
1277 if (qp->ibqp.qp_type == IB_QPT_XRC_TGT) in get_pd()
1278 return to_mpd(to_mxrcd(qp->ibqp.xrcd)->pd); in get_pd()
1280 return to_mpd(qp->ibqp.pd); in get_pd()
1286 switch (qp->ibqp.qp_type) { in get_cqs()
1288 *send_cq = to_mcq(to_mxrcd(qp->ibqp.xrcd)->cq); in get_cqs()
1292 *send_cq = to_mcq(qp->ibqp.send_cq); in get_cqs()
1296 *recv_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.recv_cq) : in get_cqs()
1298 *send_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.send_cq) : in get_cqs()
1309 for (i = 0; i < (1 << qp->ibqp.rwq_ind_tbl->log_ind_tbl_size); in destroy_qp_rss()
1311 struct ib_wq *ibwq = qp->ibqp.rwq_ind_tbl->ind_tbl[i]; in destroy_qp_rss()
1379 qp->ibqp.srq ? to_msrq(qp->ibqp.srq): NULL); in destroy_qp_common()
1406 to_mucontext(qp->ibqp.uobject->context) : in destroy_qp_common()
1515 qp->ibqp.qp_num = qp->mqp.qpn; in _mlx4_ib_create_qp()
1545 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 : in _mlx4_ib_create_qp()
1554 return &qp->ibqp; in _mlx4_ib_create_qp()
1561 struct ib_qp *ibqp; in mlx4_ib_create_qp() local
1564 ibqp = _mlx4_ib_create_qp(pd, init_attr, udata); in mlx4_ib_create_qp()
1566 if (!IS_ERR(ibqp) && in mlx4_ib_create_qp()
1569 struct mlx4_ib_sqp *sqp = to_msqp((to_mqp(ibqp))); in mlx4_ib_create_qp()
1588 return ibqp; in mlx4_ib_create_qp()
2075 struct ib_qp *ibqp; in __mlx4_ib_modify_qp() local
2077 ibqp = (struct ib_qp *)src; in __mlx4_ib_modify_qp()
2078 ibuobject = ibqp->uobject; in __mlx4_ib_modify_qp()
2079 ibsrq = ibqp->srq; in __mlx4_ib_modify_qp()
2080 rwq_ind_tbl = ibqp->rwq_ind_tbl; in __mlx4_ib_modify_qp()
2081 qp_type = ibqp->qp_type; in __mlx4_ib_modify_qp()
2082 qp = to_mqp(ibqp); in __mlx4_ib_modify_qp()
2083 dev = to_mdev(ibqp->device); in __mlx4_ib_modify_qp()
2629 static int _mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in _mlx4_ib_modify_qp() argument
2633 struct mlx4_ib_dev *dev = to_mdev(ibqp->device); in _mlx4_ib_modify_qp()
2634 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_modify_qp()
2647 if (!ib_modify_qp_is_ok(cur_state, new_state, ibqp->qp_type, in _mlx4_ib_modify_qp()
2652 ibqp->qp_num, cur_state, new_state, in _mlx4_ib_modify_qp()
2653 ibqp->qp_type, attr_mask); in _mlx4_ib_modify_qp()
2657 if (ibqp->rwq_ind_tbl) { in _mlx4_ib_modify_qp()
2663 ibqp->qp_num, cur_state, new_state); in _mlx4_ib_modify_qp()
2671 ibqp->qp_num, attr_mask, cur_state, new_state); in _mlx4_ib_modify_qp()
2680 if ((ibqp->qp_type == IB_QPT_RC) || in _mlx4_ib_modify_qp()
2681 (ibqp->qp_type == IB_QPT_UD) || in _mlx4_ib_modify_qp()
2682 (ibqp->qp_type == IB_QPT_UC) || in _mlx4_ib_modify_qp()
2683 (ibqp->qp_type == IB_QPT_RAW_PACKET) || in _mlx4_ib_modify_qp()
2684 (ibqp->qp_type == IB_QPT_XRC_INI)) { in _mlx4_ib_modify_qp()
2698 ibqp->qp_num, attr->port_num, cur_state, in _mlx4_ib_modify_qp()
2699 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2703 if ((attr_mask & IB_QP_PORT) && (ibqp->qp_type == IB_QPT_RAW_PACKET) && in _mlx4_ib_modify_qp()
2713 ibqp->qp_num, attr->pkey_index, cur_state, in _mlx4_ib_modify_qp()
2714 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2723 ibqp->qp_num, attr->max_rd_atomic, cur_state, in _mlx4_ib_modify_qp()
2724 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2732 ibqp->qp_num, attr->max_dest_rd_atomic, cur_state, in _mlx4_ib_modify_qp()
2733 new_state, ibqp->qp_type); in _mlx4_ib_modify_qp()
2742 if (ibqp->rwq_ind_tbl && (new_state == IB_QPS_INIT)) { in _mlx4_ib_modify_qp()
2743 err = bringup_rss_rwqs(ibqp->rwq_ind_tbl, attr->port_num); in _mlx4_ib_modify_qp()
2748 err = __mlx4_ib_modify_qp(ibqp, MLX4_IB_QP_SRC, attr, attr_mask, in _mlx4_ib_modify_qp()
2751 if (ibqp->rwq_ind_tbl && err) in _mlx4_ib_modify_qp()
2752 bring_down_rss_rwqs(ibqp->rwq_ind_tbl); in _mlx4_ib_modify_qp()
2762 int mlx4_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in mlx4_ib_modify_qp() argument
2765 struct mlx4_ib_qp *mqp = to_mqp(ibqp); in mlx4_ib_modify_qp()
2768 ret = _mlx4_ib_modify_qp(ibqp, attr, attr_mask, udata); in mlx4_ib_modify_qp()
2800 struct mlx4_ib_dev *mdev = to_mdev(sqp->qp.ibqp.device); in build_sriov_qp0_header()
2948 struct ib_device *ib_dev = sqp->qp.ibqp.device; in build_mlx_header()
2972 is_eth = rdma_port_get_link_layer(sqp->qp.ibqp.device, sqp->qp.port) == IB_LINK_LAYER_ETHERNET; in build_mlx_header()
3071 mlx->flags |= cpu_to_be32((!sqp->qp.ibqp.qp_num ? MLX4_WQE_MLX_VL15 : 0) | in build_mlx_header()
3120 sqp->ud_header.lrh.virtual_lane = !sqp->qp.ibqp.qp_num ? 15 : in build_mlx_header()
3124 if (sqp->qp.ibqp.qp_num && sqp->ud_header.lrh.virtual_lane == 15) in build_mlx_header()
3130 if (!sqp->qp.ibqp.qp_num) in build_mlx_header()
3139 sqp->ud_header.deth.source_qpn = cpu_to_be32(sqp->qp.ibqp.qp_num); in build_mlx_header()
3441 static int _mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in _mlx4_ib_post_send() argument
3444 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_post_send()
3459 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device); in _mlx4_ib_post_send()
3495 if (mlx4_wq_overflow(&qp->sq, nreq, qp->ibqp.send_cq)) { in _mlx4_ib_post_send()
3648 set_tunnel_datagram_seg(to_mdev(ibqp->device), wqe, in _mlx4_ib_post_send()
3745 to_mdev(ibqp->device)->uar_map + MLX4_SEND_DOORBELL); in _mlx4_ib_post_send()
3763 int mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in mlx4_ib_post_send() argument
3766 return _mlx4_ib_post_send(ibqp, wr, bad_wr, false); in mlx4_ib_post_send()
3769 static int _mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in _mlx4_ib_post_recv() argument
3772 struct mlx4_ib_qp *qp = to_mqp(ibqp); in _mlx4_ib_post_recv()
3780 struct mlx4_ib_dev *mdev = to_mdev(ibqp->device); in _mlx4_ib_post_recv()
3796 if (mlx4_wq_overflow(&qp->rq, nreq, qp->ibqp.recv_cq)) { in _mlx4_ib_post_recv()
3812 ib_dma_sync_single_for_device(ibqp->device, in _mlx4_ib_post_recv()
3857 int mlx4_ib_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in mlx4_ib_post_recv() argument
3860 return _mlx4_ib_post_recv(ibqp, wr, bad_wr, false); in mlx4_ib_post_recv()
3936 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
3939 struct mlx4_ib_dev *dev = to_mdev(ibqp->device); in mlx4_ib_query_qp()
3940 struct mlx4_ib_qp *qp = to_mqp(ibqp); in mlx4_ib_query_qp()
3945 if (ibqp->rwq_ind_tbl) in mlx4_ib_query_qp()
3975 if (qp->ibqp.qp_type == IB_QPT_RC || qp->ibqp.qp_type == IB_QPT_UC) { in mlx4_ib_query_qp()
4008 if (!ibqp->uobject) { in mlx4_ib_query_qp()