Lines Matching refs:rxe
13 #include "rxe.h"
18 static int rxe_qp_chk_cap(struct rxe_dev *rxe, struct ib_qp_cap *cap,
21 if (cap->max_send_wr > rxe->attr.max_qp_wr) {
23 cap->max_send_wr, rxe->attr.max_qp_wr);
27 if (cap->max_send_sge > rxe->attr.max_send_sge) {
29 cap->max_send_sge, rxe->attr.max_send_sge);
34 if (cap->max_recv_wr > rxe->attr.max_qp_wr) {
36 cap->max_recv_wr, rxe->attr.max_qp_wr);
40 if (cap->max_recv_sge > rxe->attr.max_recv_sge) {
42 cap->max_recv_sge, rxe->attr.max_recv_sge);
47 if (cap->max_inline_data > rxe->max_inline_data) {
49 cap->max_inline_data, rxe->max_inline_data);
59 int rxe_qp_chk_init(struct rxe_dev *rxe, struct ib_qp_init_attr *init)
70 if (rxe_qp_chk_cap(rxe, cap, !!init->srq))
74 if (!rdma_is_port_valid(&rxe->ib_dev, port_num)) {
79 port = &rxe->port;
149 static void rxe_qp_init_misc(struct rxe_dev *rxe, struct rxe_qp *qp,
160 port = &rxe->port;
202 static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,
233 qp->sq.queue = rxe_queue_init(rxe, &qp->sq.max_wr, wqe_size);
237 err = do_mmap_info(rxe, uresp ? &uresp->sq_mi : NULL, udata,
264 static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp,
281 qp->rq.queue = rxe_queue_init(rxe,
287 err = do_mmap_info(rxe, uresp ? &uresp->rq_mi : NULL, udata,
308 int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd,
330 rxe_qp_init_misc(rxe, qp, init);
332 err = rxe_qp_init_req(rxe, qp, init, udata, uresp);
336 err = rxe_qp_init_resp(rxe, qp, init, udata, uresp);
391 int rxe_qp_chk_attr(struct rxe_dev *rxe, struct rxe_qp *qp,
413 if (!rdma_is_port_valid(&rxe->ib_dev, attr->port_num)) {
419 if (mask & IB_QP_CAP && rxe_qp_chk_cap(rxe, &attr->cap, !!qp->srq))
422 if (mask & IB_QP_AV && rxe_av_chk_attr(rxe, &attr->ah_attr))
426 if (rxe_av_chk_attr(rxe, &attr->alt_ah_attr))
428 if (!rdma_is_port_valid(&rxe->ib_dev, attr->alt_port_num)) {
440 struct rxe_port *port = &rxe->port;
454 if (attr->max_rd_atomic > rxe->attr.max_qp_rd_atom) {
457 rxe->attr.max_qp_rd_atom);