Lines Matching refs:ibqp

467 	struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
470 rvt_reset_qp(rdi, qp, qp->ibqp.qp_type);
622 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
706 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
732 if (qp->ibqp.qp_type == IB_QPT_SMI ||
733 qp->ibqp.qp_type == IB_QPT_GSI)
754 ev.device = qp->ibqp.device;
755 ev.element.qp = &qp->ibqp;
757 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context);
772 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits);
1183 * ib_create_qp() will initialize qp->ibqp
1184 * except for qp->ibqp.qp_num.
1217 qp->ibqp.qp_num = err;
1219 qp->ibqp.qp_num |= RVT_AIP_QP_BASE;
1301 ret = &qp->ibqp;
1310 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num);
1346 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
1372 wc.qp = &qp->ibqp;
1378 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1);
1408 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1);
1415 } else if (qp->ibqp.event_handler) {
1436 if (qp->ibqp.qp_num <= 1) {
1437 rcu_assign_pointer(rvp->qp[qp->ibqp.qp_num], qp);
1439 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits);
1451 * @ibqp: the queue pair who's attributes we're modifying
1458 int rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
1461 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
1462 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
1477 opa_ah = rdma_cap_opa_ah(ibqp->device, qp->port_num);
1479 if (!ib_modify_qp_is_ok(cur_state, new_state, ibqp->qp_type,
1498 if (rvt_check_ah(qp->ibqp.device, &attr->ah_attr))
1513 if (rvt_check_ah(qp->ibqp.device, &attr->alt_ah_attr))
1528 if (qp->ibqp.qp_type == IB_QPT_SMI ||
1529 qp->ibqp.qp_type == IB_QPT_GSI ||
1531 attr->port_num > ibqp->device->phys_port_cnt)
1585 _rvt_reset_qp(rdi, qp, ibqp->qp_type);
1600 if (qp->ibqp.qp_type == IB_QPT_RC)
1700 ev.device = qp->ibqp.device;
1701 ev.element.qp = &qp->ibqp;
1703 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context);
1706 ev.device = qp->ibqp.device;
1707 ev.element.qp = &qp->ibqp;
1709 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context);
1722 * @ibqp: the queue pair to destroy
1729 int rvt_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata)
1731 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
1732 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
1734 rvt_reset_qp(rdi, qp, ibqp->qp_type);
1738 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num);
1742 if (qp->ibqp.qp_type == IB_QPT_RC) {
1763 * @ibqp: IB qp to query
1770 int rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
1773 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
1774 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
1787 attr->cap.max_recv_wr = qp->ibqp.srq ? 0 : qp->r_rq.size - 1;
1808 init_attr->event_handler = qp->ibqp.event_handler;
1809 init_attr->qp_context = qp->ibqp.qp_context;
1810 init_attr->send_cq = qp->ibqp.send_cq;
1811 init_attr->recv_cq = qp->ibqp.recv_cq;
1812 init_attr->srq = qp->ibqp.srq;
1818 init_attr->qp_type = qp->ibqp.qp_type;
1825 * @ibqp: the QP to post the receive on
1833 int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr,
1836 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
1840 !qp->ibqp.srq;
1871 wc.qp = &qp->ibqp;
1875 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1);
1923 if (!(post_parms[wr->opcode].qpt_support & BIT(qp->ibqp.qp_type)))
1926 ibpd_to_rvtpd(qp->ibqp.pd)->user)
1938 if (qp->ibqp.qp_type != IB_QPT_UC &&
1939 qp->ibqp.qp_type != IB_QPT_RC) {
1940 if (qp->ibqp.pd != ud_wr(wr)->ah->pd)
2000 qp->ibqp.qp_num, qp->s_size, qp->s_avail,
2022 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
2088 pd = ibpd_to_rvtpd(qp->ibqp.pd);
2186 * @ibqp: the QP to post the send on
2194 int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,
2197 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
2198 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
2325 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
2328 pd = ibpd_to_rvtpd(qp->ibqp.srq ? qp->ibqp.srq->pd : qp->ibqp.pd);
2359 wc.qp = &qp->ibqp;
2361 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1);
2408 if (qp->ibqp.srq) {
2409 srq = ibsrq_to_rvtsrq(qp->ibqp.srq);
2482 ev.device = qp->ibqp.device;
2483 ev.element.srq = qp->ibqp.srq;
2504 if (qp->ibqp.event_handler) {
2507 ev.device = qp->ibqp.device;
2508 ev.element.qp = &qp->ibqp;
2510 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context);
2527 ev.device = qp->ibqp.device;
2528 ev.element.qp = &qp->ibqp;
2530 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context);
2560 struct ib_qp *ibqp = &qp->ibqp;
2561 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
2641 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
2669 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
2837 rdi = ib_to_rvt(qp->ibqp.device);
2871 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
2939 return sqp->ibqp.qp_type == IB_QPT_RC ?
2956 struct rvt_dev_info *rdi = ib_to_rvt(sqp->ibqp.device);
2978 qp = rvt_lookup_qpn(ib_to_rvt(sqp->ibqp.device), rvp,
3021 qp->ibqp.qp_type != sqp->ibqp.qp_type) {
3172 wc.qp = &qp->ibqp;
3197 if (qp->ibqp.qp_type == IB_QPT_UC)
3225 sqp->ibqp.qp_type == IB_QPT_RC ?
3245 if (sqp->ibqp.qp_type == IB_QPT_RC) {
3257 ev.device = sqp->ibqp.device;
3258 ev.element.qp = &sqp->ibqp;
3260 sqp->ibqp.event_handler(&ev, sqp->ibqp.qp_context);