Lines Matching defs:attrs

136 	attr->max_cq = sdev->attrs.max_cq;
137 attr->max_cqe = sdev->attrs.max_cqe;
139 attr->max_mr = sdev->attrs.max_mr;
140 attr->max_mw = sdev->attrs.max_mw;
142 attr->max_pd = sdev->attrs.max_pd;
143 attr->max_qp = sdev->attrs.max_qp;
144 attr->max_qp_init_rd_atom = sdev->attrs.max_ird;
145 attr->max_qp_rd_atom = sdev->attrs.max_ord;
146 attr->max_qp_wr = sdev->attrs.max_qp_wr;
147 attr->max_recv_sge = sdev->attrs.max_sge;
148 attr->max_res_rd_atom = sdev->attrs.max_qp * sdev->attrs.max_ird;
149 attr->max_send_sge = sdev->attrs.max_sge;
150 attr->max_sge_rd = sdev->attrs.max_sge_rd;
151 attr->max_srq = sdev->attrs.max_srq;
152 attr->max_srq_sge = sdev->attrs.max_srq_sge;
153 attr->max_srq_wr = sdev->attrs.max_srq_wr;
289 * @attrs: Initial QP attributes.
294 struct ib_qp_init_attr *attrs,
314 if (attrs->qp_type != IB_QPT_RC) {
319 if ((attrs->cap.max_send_wr > SIW_MAX_QP_WR) ||
320 (attrs->cap.max_recv_wr > SIW_MAX_QP_WR) ||
321 (attrs->cap.max_send_sge > SIW_MAX_SGE) ||
322 (attrs->cap.max_recv_sge > SIW_MAX_SGE)) {
327 if (attrs->cap.max_inline_data > SIW_MAX_INLINE) {
329 attrs->cap.max_inline_data, (int)SIW_MAX_INLINE);
337 if (attrs->cap.max_send_wr + attrs->cap.max_recv_wr == 0) {
343 if (!attrs->send_cq || (!attrs->recv_cq && !attrs->srq)) {
362 num_sqe = attrs->cap.max_send_wr;
363 num_rqe = attrs->cap.max_recv_wr;
389 if (attrs->sq_sig_type != IB_SIGNAL_REQ_WR) {
390 if (attrs->sq_sig_type == IB_SIGNAL_ALL_WR)
391 qp->attrs.flags |= SIW_SIGNAL_ALL_WR;
398 qp->scq = to_siw_cq(attrs->send_cq);
399 qp->rcq = to_siw_cq(attrs->recv_cq);
401 if (attrs->srq) {
407 qp->srq = to_siw_srq(attrs->srq);
408 qp->attrs.rq_size = 0;
422 qp->attrs.rq_size = num_rqe;
424 qp->attrs.sq_size = num_sqe;
425 qp->attrs.sq_max_sges = attrs->cap.max_send_sge;
426 qp->attrs.rq_max_sges = attrs->cap.max_recv_sge;
432 qp->attrs.state = SIW_QP_STATE_IDLE;
519 qp_attr->cap.max_send_wr = qp->attrs.sq_size;
520 qp_attr->cap.max_send_sge = qp->attrs.sq_max_sges;
521 qp_attr->cap.max_recv_wr = qp->attrs.rq_size;
522 qp_attr->cap.max_recv_sge = qp->attrs.rq_max_sges;
524 qp_attr->max_rd_atomic = qp->attrs.irq_size;
525 qp_attr->max_dest_rd_atomic = qp->attrs.orq_size;
595 siw_dbg_qp(qp, "state %d\n", qp->attrs.state);
601 qp->attrs.flags |= SIW_QP_IN_DESTROY;
773 if (qp->attrs.state == SIW_QP_STATE_ERROR) {
786 qp->attrs.state);
792 if (unlikely(qp->attrs.state != SIW_QP_STATE_RTS)) {
793 if (qp->attrs.state == SIW_QP_STATE_ERROR) {
804 qp->attrs.state);
814 u32 idx = qp->sq_put % qp->attrs.sq_size;
822 if (wr->num_sge > qp->attrs.sq_max_sges) {
830 (qp->attrs.flags & SIW_SIGNAL_ALL_WR))
1000 if (qp->srq || qp->attrs.rq_size == 0) {
1015 if (qp->attrs.state == SIW_QP_STATE_ERROR) {
1028 qp->attrs.state);
1034 if (qp->attrs.state > SIW_QP_STATE_RTS) {
1035 if (qp->attrs.state == SIW_QP_STATE_ERROR) {
1046 qp->attrs.state);
1060 u32 idx = qp->rq_put % qp->attrs.rq_size;
1068 if (wr->num_sge > qp->attrs.rq_max_sges) {
1139 if (size < 1 || size > sdev->attrs.max_cqe) {
1588 struct ib_srq_attr *attrs = &init_attrs->attr;
1600 if (attrs->max_wr == 0 || attrs->max_wr > SIW_MAX_SRQ_WR ||
1601 attrs->max_sge > SIW_MAX_SGE || attrs->srq_limit > attrs->max_wr) {
1605 srq->max_sge = attrs->max_sge;
1606 srq->num_rqe = roundup_pow_of_two(attrs->max_wr);
1607 srq->limit = attrs->srq_limit;
1669 * parameter. siw_modify_srq() does not check the attrs->max_sge param.
1671 int siw_modify_srq(struct ib_srq *base_srq, struct ib_srq_attr *attrs,
1686 if (attrs->srq_limit) {
1687 if (unlikely(attrs->srq_limit > srq->num_rqe)) {
1695 srq->limit = attrs->srq_limit;
1708 int siw_query_srq(struct ib_srq *base_srq, struct ib_srq_attr *attrs)
1715 attrs->max_wr = srq->num_rqe;
1716 attrs->max_sge = srq->max_sge;
1717 attrs->srq_limit = srq->limit;
1824 if (qp->attrs.flags & SIW_QP_IN_DESTROY)