Lines Matching refs:ibqp
433 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_clear_mr_refs()
446 if (qp->ibqp.qp_type == IB_QPT_UD || in rvt_clear_mr_refs()
447 qp->ibqp.qp_type == IB_QPT_SMI || in rvt_clear_mr_refs()
448 qp->ibqp.qp_type == IB_QPT_GSI) in rvt_clear_mr_refs()
523 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_qp_acks_has_lkey()
549 if (qp->ibqp.qp_type == IB_QPT_SMI || in rvt_qp_mr_clean()
550 qp->ibqp.qp_type == IB_QPT_GSI) in rvt_qp_mr_clean()
571 ev.device = qp->ibqp.device; in rvt_qp_mr_clean()
572 ev.element.qp = &qp->ibqp; in rvt_qp_mr_clean()
574 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in rvt_qp_mr_clean()
589 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits); in rvt_remove_qp()
913 qp->ibqp.qp_num = err; in rvt_create_qp()
989 ret = &qp->ibqp; in rvt_create_qp()
1020 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num); in rvt_create_qp()
1054 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_error_qp()
1080 wc.qp = &qp->ibqp; in rvt_error_qp()
1086 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); in rvt_error_qp()
1109 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); in rvt_error_qp()
1114 } else if (qp->ibqp.event_handler) { in rvt_error_qp()
1135 if (qp->ibqp.qp_num <= 1) { in rvt_insert_qp()
1136 rcu_assign_pointer(rvp->qp[qp->ibqp.qp_num], qp); in rvt_insert_qp()
1138 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits); in rvt_insert_qp()
1157 int rvt_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in rvt_modify_qp() argument
1160 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_modify_qp()
1161 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp); in rvt_modify_qp()
1170 link = rdma_port_get_link_layer(ibqp->device, qp->port_num); in rvt_modify_qp()
1179 opa_ah = rdma_cap_opa_ah(ibqp->device, qp->port_num); in rvt_modify_qp()
1181 if (!ib_modify_qp_is_ok(cur_state, new_state, ibqp->qp_type, in rvt_modify_qp()
1200 if (rvt_check_ah(qp->ibqp.device, &attr->ah_attr)) in rvt_modify_qp()
1215 if (rvt_check_ah(qp->ibqp.device, &attr->alt_ah_attr)) in rvt_modify_qp()
1230 if (qp->ibqp.qp_type == IB_QPT_SMI || in rvt_modify_qp()
1231 qp->ibqp.qp_type == IB_QPT_GSI || in rvt_modify_qp()
1233 attr->port_num > ibqp->device->phys_port_cnt) in rvt_modify_qp()
1287 rvt_reset_qp(rdi, qp, ibqp->qp_type); in rvt_modify_qp()
1302 if (qp->ibqp.qp_type == IB_QPT_RC) in rvt_modify_qp()
1402 ev.device = qp->ibqp.device; in rvt_modify_qp()
1403 ev.element.qp = &qp->ibqp; in rvt_modify_qp()
1405 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in rvt_modify_qp()
1408 ev.device = qp->ibqp.device; in rvt_modify_qp()
1409 ev.element.qp = &qp->ibqp; in rvt_modify_qp()
1411 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in rvt_modify_qp()
1431 int rvt_destroy_qp(struct ib_qp *ibqp) in rvt_destroy_qp() argument
1433 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp); in rvt_destroy_qp()
1434 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_destroy_qp()
1439 rvt_reset_qp(rdi, qp, ibqp->qp_type); in rvt_destroy_qp()
1446 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num); in rvt_destroy_qp()
1450 if (qp->ibqp.qp_type == IB_QPT_RC) { in rvt_destroy_qp()
1478 int rvt_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, in rvt_query_qp() argument
1481 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp); in rvt_query_qp()
1482 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_query_qp()
1495 attr->cap.max_recv_wr = qp->ibqp.srq ? 0 : qp->r_rq.size - 1; in rvt_query_qp()
1516 init_attr->event_handler = qp->ibqp.event_handler; in rvt_query_qp()
1517 init_attr->qp_context = qp->ibqp.qp_context; in rvt_query_qp()
1518 init_attr->send_cq = qp->ibqp.send_cq; in rvt_query_qp()
1519 init_attr->recv_cq = qp->ibqp.recv_cq; in rvt_query_qp()
1520 init_attr->srq = qp->ibqp.srq; in rvt_query_qp()
1526 init_attr->qp_type = qp->ibqp.qp_type; in rvt_query_qp()
1541 int rvt_post_recv(struct ib_qp *ibqp, const struct ib_recv_wr *wr, in rvt_post_recv() argument
1544 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp); in rvt_post_recv()
1548 !qp->ibqp.srq; in rvt_post_recv()
1579 wc.qp = &qp->ibqp; in rvt_post_recv()
1583 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); in rvt_post_recv()
1629 if (!(post_parms[wr->opcode].qpt_support & BIT(qp->ibqp.qp_type))) in rvt_qp_valid_operation()
1632 ibpd_to_rvtpd(qp->ibqp.pd)->user) in rvt_qp_valid_operation()
1644 if (qp->ibqp.qp_type != IB_QPT_UC && in rvt_qp_valid_operation()
1645 qp->ibqp.qp_type != IB_QPT_RC) { in rvt_qp_valid_operation()
1646 if (qp->ibqp.pd != ud_wr(wr)->ah->pd) in rvt_qp_valid_operation()
1708 qp->ibqp.qp_num, qp->s_size, qp->s_avail, in rvt_qp_is_avail()
1730 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_post_one_wr()
1796 pd = ibpd_to_rvtpd(qp->ibqp.pd); in rvt_post_one_wr()
1836 if (qp->ibqp.qp_type != IB_QPT_UC && in rvt_post_one_wr()
1837 qp->ibqp.qp_type != IB_QPT_RC) { in rvt_post_one_wr()
1894 int rvt_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr, in rvt_post_send() argument
1897 struct rvt_qp *qp = ibqp_to_rvtqp(ibqp); in rvt_post_send()
1898 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_post_send()
2003 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in init_sge()
2006 pd = ibpd_to_rvtpd(qp->ibqp.srq ? qp->ibqp.srq->pd : qp->ibqp.pd); in init_sge()
2037 wc.qp = &qp->ibqp; in init_sge()
2039 rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.recv_cq), &wc, 1); in init_sge()
2064 if (qp->ibqp.srq) { in rvt_get_rwqe()
2065 srq = ibsrq_to_rvtsrq(qp->ibqp.srq); in rvt_get_rwqe()
2127 ev.device = qp->ibqp.device; in rvt_get_rwqe()
2128 ev.element.srq = qp->ibqp.srq; in rvt_get_rwqe()
2148 if (qp->ibqp.event_handler) { in rvt_comm_est()
2151 ev.device = qp->ibqp.device; in rvt_comm_est()
2152 ev.element.qp = &qp->ibqp; in rvt_comm_est()
2154 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in rvt_comm_est()
2171 ev.device = qp->ibqp.device; in rvt_rc_error()
2172 ev.element.qp = &qp->ibqp; in rvt_rc_error()
2174 qp->ibqp.event_handler(&ev, qp->ibqp.qp_context); in rvt_rc_error()
2203 struct ib_qp *ibqp = &qp->ibqp; in rvt_add_retry_timer() local
2204 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_add_retry_timer()
2285 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_rc_timeout()
2313 struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device); in rvt_rc_rnr_retry()