Lines Matching refs:rxe
18 static int rxe_qp_chk_cap(struct rxe_dev *rxe, struct ib_qp_cap *cap, in rxe_qp_chk_cap() argument
21 if (cap->max_send_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
23 cap->max_send_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
27 if (cap->max_send_sge > rxe->attr.max_send_sge) { in rxe_qp_chk_cap()
29 cap->max_send_sge, rxe->attr.max_send_sge); in rxe_qp_chk_cap()
34 if (cap->max_recv_wr > rxe->attr.max_qp_wr) { in rxe_qp_chk_cap()
36 cap->max_recv_wr, rxe->attr.max_qp_wr); in rxe_qp_chk_cap()
40 if (cap->max_recv_sge > rxe->attr.max_recv_sge) { in rxe_qp_chk_cap()
42 cap->max_recv_sge, rxe->attr.max_recv_sge); in rxe_qp_chk_cap()
47 if (cap->max_inline_data > rxe->max_inline_data) { in rxe_qp_chk_cap()
49 cap->max_inline_data, rxe->max_inline_data); in rxe_qp_chk_cap()
59 int rxe_qp_chk_init(struct rxe_dev *rxe, struct ib_qp_init_attr *init) in rxe_qp_chk_init() argument
70 if (rxe_qp_chk_cap(rxe, cap, !!init->srq)) in rxe_qp_chk_init()
74 if (!rdma_is_port_valid(&rxe->ib_dev, port_num)) { in rxe_qp_chk_init()
79 port = &rxe->port; in rxe_qp_chk_init()
149 static void rxe_qp_init_misc(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_qp_init_misc() argument
160 port = &rxe->port; in rxe_qp_init_misc()
199 static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_qp_init_req() argument
230 qp->sq.queue = rxe_queue_init(rxe, &qp->sq.max_wr, wqe_size); in rxe_qp_init_req()
234 err = do_mmap_info(rxe, uresp ? &uresp->sq_mi : NULL, udata, in rxe_qp_init_req()
252 rxe_init_task(rxe, &qp->req.task, qp, in rxe_qp_init_req()
254 rxe_init_task(rxe, &qp->comp.task, qp, in rxe_qp_init_req()
265 static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_qp_init_resp() argument
282 qp->rq.queue = rxe_queue_init(rxe, in rxe_qp_init_resp()
288 err = do_mmap_info(rxe, uresp ? &uresp->rq_mi : NULL, udata, in rxe_qp_init_resp()
301 rxe_init_task(rxe, &qp->resp.task, qp, in rxe_qp_init_resp()
312 int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd, in rxe_qp_from_init() argument
334 rxe_qp_init_misc(rxe, qp, init); in rxe_qp_from_init()
336 err = rxe_qp_init_req(rxe, qp, init, udata, uresp); in rxe_qp_from_init()
340 err = rxe_qp_init_resp(rxe, qp, init, udata, uresp); in rxe_qp_from_init()
395 int rxe_qp_chk_attr(struct rxe_dev *rxe, struct rxe_qp *qp, in rxe_qp_chk_attr() argument
417 if (!rdma_is_port_valid(&rxe->ib_dev, attr->port_num)) { in rxe_qp_chk_attr()
423 if (mask & IB_QP_CAP && rxe_qp_chk_cap(rxe, &attr->cap, !!qp->srq)) in rxe_qp_chk_attr()
426 if (mask & IB_QP_AV && rxe_av_chk_attr(rxe, &attr->ah_attr)) in rxe_qp_chk_attr()
430 if (rxe_av_chk_attr(rxe, &attr->alt_ah_attr)) in rxe_qp_chk_attr()
432 if (!rdma_is_port_valid(&rxe->ib_dev, attr->alt_port_num)) { in rxe_qp_chk_attr()
444 struct rxe_port *port = &rxe->port; in rxe_qp_chk_attr()
458 if (attr->max_rd_atomic > rxe->attr.max_qp_rd_atom) { in rxe_qp_chk_attr()
461 rxe->attr.max_qp_rd_atom); in rxe_qp_chk_attr()