• Home
  • Raw
  • Download

Lines Matching refs:attrs

136 	attr->max_cq = sdev->attrs.max_cq;  in siw_query_device()
137 attr->max_cqe = sdev->attrs.max_cqe; in siw_query_device()
139 attr->max_mr = sdev->attrs.max_mr; in siw_query_device()
140 attr->max_mw = sdev->attrs.max_mw; in siw_query_device()
142 attr->max_pd = sdev->attrs.max_pd; in siw_query_device()
143 attr->max_qp = sdev->attrs.max_qp; in siw_query_device()
144 attr->max_qp_init_rd_atom = sdev->attrs.max_ird; in siw_query_device()
145 attr->max_qp_rd_atom = sdev->attrs.max_ord; in siw_query_device()
146 attr->max_qp_wr = sdev->attrs.max_qp_wr; in siw_query_device()
147 attr->max_recv_sge = sdev->attrs.max_sge; in siw_query_device()
148 attr->max_res_rd_atom = sdev->attrs.max_qp * sdev->attrs.max_ird; in siw_query_device()
149 attr->max_send_sge = sdev->attrs.max_sge; in siw_query_device()
150 attr->max_sge_rd = sdev->attrs.max_sge_rd; in siw_query_device()
151 attr->max_srq = sdev->attrs.max_srq; in siw_query_device()
152 attr->max_srq_sge = sdev->attrs.max_srq_sge; in siw_query_device()
153 attr->max_srq_wr = sdev->attrs.max_srq_wr; in siw_query_device()
293 int siw_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *attrs, in siw_create_qp() argument
309 if (attrs->create_flags) in siw_create_qp()
317 if (attrs->qp_type != IB_QPT_RC) { in siw_create_qp()
322 if ((attrs->cap.max_send_wr > SIW_MAX_QP_WR) || in siw_create_qp()
323 (attrs->cap.max_recv_wr > SIW_MAX_QP_WR) || in siw_create_qp()
324 (attrs->cap.max_send_sge > SIW_MAX_SGE) || in siw_create_qp()
325 (attrs->cap.max_recv_sge > SIW_MAX_SGE)) { in siw_create_qp()
330 if (attrs->cap.max_inline_data > SIW_MAX_INLINE) { in siw_create_qp()
332 attrs->cap.max_inline_data, (int)SIW_MAX_INLINE); in siw_create_qp()
340 if (attrs->cap.max_send_wr + attrs->cap.max_recv_wr == 0) { in siw_create_qp()
346 if (!attrs->send_cq || (!attrs->recv_cq && !attrs->srq)) { in siw_create_qp()
361 num_sqe = attrs->cap.max_send_wr; in siw_create_qp()
362 num_rqe = attrs->cap.max_recv_wr; in siw_create_qp()
388 if (attrs->sq_sig_type != IB_SIGNAL_REQ_WR) { in siw_create_qp()
389 if (attrs->sq_sig_type == IB_SIGNAL_ALL_WR) in siw_create_qp()
390 qp->attrs.flags |= SIW_SIGNAL_ALL_WR; in siw_create_qp()
397 qp->scq = to_siw_cq(attrs->send_cq); in siw_create_qp()
398 qp->rcq = to_siw_cq(attrs->recv_cq); in siw_create_qp()
400 if (attrs->srq) { in siw_create_qp()
406 qp->srq = to_siw_srq(attrs->srq); in siw_create_qp()
407 qp->attrs.rq_size = 0; in siw_create_qp()
421 qp->attrs.rq_size = num_rqe; in siw_create_qp()
423 qp->attrs.sq_size = num_sqe; in siw_create_qp()
424 qp->attrs.sq_max_sges = attrs->cap.max_send_sge; in siw_create_qp()
425 qp->attrs.rq_max_sges = attrs->cap.max_recv_sge; in siw_create_qp()
431 qp->attrs.state = SIW_QP_STATE_IDLE; in siw_create_qp()
517 qp_attr->cap.max_send_wr = qp->attrs.sq_size; in siw_query_qp()
518 qp_attr->cap.max_send_sge = qp->attrs.sq_max_sges; in siw_query_qp()
519 qp_attr->cap.max_recv_wr = qp->attrs.rq_size; in siw_query_qp()
520 qp_attr->cap.max_recv_sge = qp->attrs.rq_max_sges; in siw_query_qp()
522 qp_attr->max_rd_atomic = qp->attrs.irq_size; in siw_query_qp()
523 qp_attr->max_dest_rd_atomic = qp->attrs.orq_size; in siw_query_qp()
596 siw_dbg_qp(qp, "state %d\n", qp->attrs.state); in siw_destroy_qp()
602 qp->attrs.flags |= SIW_QP_IN_DESTROY; in siw_destroy_qp()
775 if (qp->attrs.state == SIW_QP_STATE_ERROR) { in siw_post_send()
788 qp->attrs.state); in siw_post_send()
794 if (unlikely(qp->attrs.state != SIW_QP_STATE_RTS)) { in siw_post_send()
795 if (qp->attrs.state == SIW_QP_STATE_ERROR) { in siw_post_send()
806 qp->attrs.state); in siw_post_send()
816 u32 idx = qp->sq_put % qp->attrs.sq_size; in siw_post_send()
824 if (wr->num_sge > qp->attrs.sq_max_sges) { in siw_post_send()
832 (qp->attrs.flags & SIW_SIGNAL_ALL_WR)) in siw_post_send()
1002 if (qp->srq || qp->attrs.rq_size == 0) { in siw_post_receive()
1017 if (qp->attrs.state == SIW_QP_STATE_ERROR) { in siw_post_receive()
1030 qp->attrs.state); in siw_post_receive()
1036 if (qp->attrs.state > SIW_QP_STATE_RTS) { in siw_post_receive()
1037 if (qp->attrs.state == SIW_QP_STATE_ERROR) { in siw_post_receive()
1048 qp->attrs.state); in siw_post_receive()
1062 u32 idx = qp->rq_put % qp->attrs.rq_size; in siw_post_receive()
1070 if (wr->num_sge > qp->attrs.rq_max_sges) { in siw_post_receive()
1144 if (size < 1 || size > sdev->attrs.max_cqe) { in siw_create_cq()
1593 struct ib_srq_attr *attrs = &init_attrs->attr; in siw_create_srq() local
1608 if (attrs->max_wr == 0 || attrs->max_wr > SIW_MAX_SRQ_WR || in siw_create_srq()
1609 attrs->max_sge > SIW_MAX_SGE || attrs->srq_limit > attrs->max_wr) { in siw_create_srq()
1613 srq->max_sge = attrs->max_sge; in siw_create_srq()
1614 srq->num_rqe = roundup_pow_of_two(attrs->max_wr); in siw_create_srq()
1615 srq->limit = attrs->srq_limit; in siw_create_srq()
1679 int siw_modify_srq(struct ib_srq *base_srq, struct ib_srq_attr *attrs, in siw_modify_srq() argument
1694 if (attrs->srq_limit) { in siw_modify_srq()
1695 if (unlikely(attrs->srq_limit > srq->num_rqe)) { in siw_modify_srq()
1703 srq->limit = attrs->srq_limit; in siw_modify_srq()
1716 int siw_query_srq(struct ib_srq *base_srq, struct ib_srq_attr *attrs) in siw_query_srq() argument
1723 attrs->max_wr = srq->num_rqe; in siw_query_srq()
1724 attrs->max_sge = srq->max_sge; in siw_query_srq()
1725 attrs->srq_limit = srq->limit; in siw_query_srq()
1832 if (qp->attrs.flags & SIW_QP_IN_DESTROY) in siw_qp_event()