Lines Matching refs:init_attr

1018  * @init_attr: the attributes of the queue pair
1029 int rvt_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
1045 if (init_attr->create_flags & ~IB_QP_CREATE_NETDEV_USE)
1048 if (init_attr->cap.max_send_sge > rdi->dparms.props.max_send_sge ||
1049 init_attr->cap.max_send_wr > rdi->dparms.props.max_qp_wr)
1053 if (!init_attr->srq) {
1054 if (init_attr->cap.max_recv_sge >
1056 init_attr->cap.max_recv_wr > rdi->dparms.props.max_qp_wr)
1059 if (init_attr->cap.max_send_sge +
1060 init_attr->cap.max_send_wr +
1061 init_attr->cap.max_recv_sge +
1062 init_attr->cap.max_recv_wr == 0)
1066 init_attr->cap.max_send_wr + 1 +
1068 switch (init_attr->qp_type) {
1071 if (init_attr->port_num == 0 ||
1072 init_attr->port_num > ibqp->device->phys_port_cnt)
1078 sz = struct_size(swq, sg_list, init_attr->cap.max_send_sge);
1083 if (init_attr->srq) {
1084 struct rvt_srq *srq = ibsrq_to_rvtsrq(init_attr->srq);
1089 } else if (init_attr->cap.max_recv_sge > 1)
1091 (init_attr->cap.max_recv_sge - 1);
1096 qp->allowed_ops = get_allowed_ops(init_attr->qp_type);
1099 if (init_attr->qp_type == IB_QPT_RC) {
1127 if (init_attr->srq) {
1130 qp->r_rq.size = init_attr->cap.max_recv_wr + 1;
1131 qp->r_rq.max_sge = init_attr->cap.max_recv_sge;
1154 qp->s_avail = init_attr->cap.max_send_wr;
1155 qp->s_max_sge = init_attr->cap.max_send_sge;
1156 if (init_attr->sq_sig_type == IB_SIGNAL_REQ_WR)
1162 if (init_attr->create_flags & IB_QP_CREATE_NETDEV_USE)
1166 init_attr->qp_type,
1167 init_attr->port_num,
1173 if (init_attr->create_flags & IB_QP_CREATE_NETDEV_USE)
1175 qp->port_num = init_attr->port_num;
1176 rvt_init_qp(rdi, qp, init_attr->qp_type);
1178 ret = rdi->driver_f.qp_priv_init(rdi, qp, init_attr);
1189 init_attr->cap.max_inline_data = 0;
1238 if (init_attr->qp_type == IB_QPT_RC) {
1714 * @init_attr: struct to fill in
1719 int attr_mask, struct ib_qp_init_attr *init_attr)
1756 init_attr->event_handler = qp->ibqp.event_handler;
1757 init_attr->qp_context = qp->ibqp.qp_context;
1758 init_attr->send_cq = qp->ibqp.send_cq;
1759 init_attr->recv_cq = qp->ibqp.recv_cq;
1760 init_attr->srq = qp->ibqp.srq;
1761 init_attr->cap = attr->cap;
1763 init_attr->sq_sig_type = IB_SIGNAL_REQ_WR;
1765 init_attr->sq_sig_type = IB_SIGNAL_ALL_WR;
1766 init_attr->qp_type = qp->ibqp.qp_type;
1767 init_attr->port_num = qp->port_num;