Lines Matching refs:init_attr
634 struct ib_qp_init_attr *init_attr, in create_qp_common() argument
642 enum mlx4_ib_qp_type qp_type = (enum mlx4_ib_qp_type) init_attr->qp_type; in create_qp_common()
650 !(init_attr->create_flags & MLX4_IB_SRIOV_SQP))) { in create_qp_common()
651 if (init_attr->qp_type == IB_QPT_GSI) in create_qp_common()
663 init_attr->cap.max_recv_sge++; in create_qp_common()
664 } else if (init_attr->create_flags & MLX4_IB_SRIOV_TUNNEL_QP) { in create_qp_common()
666 container_of(init_attr, in create_qp_common()
667 struct mlx4_ib_qp_tunnel_init_attr, init_attr); in create_qp_common()
716 if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) in create_qp_common()
719 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, qp_has_rq(init_attr), qp); in create_qp_common()
753 if (qp_has_rq(init_attr)) { in create_qp_common()
762 if (init_attr->create_flags & IB_QP_CREATE_IPOIB_UD_LSO) in create_qp_common()
765 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP) { in create_qp_common()
773 err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); in create_qp_common()
777 if (qp_has_rq(init_attr)) { in create_qp_common()
825 if (init_attr->qp_type == IB_QPT_RAW_PACKET) in create_qp_common()
827 (init_attr->cap.max_send_wr ? in create_qp_common()
829 (init_attr->cap.max_recv_wr ? in create_qp_common()
841 if (init_attr->create_flags & IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK) in create_qp_common()
848 if (init_attr->qp_type == IB_QPT_XRC_TGT) in create_qp_common()
863 mlx4_ib_lock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
864 to_mcq(init_attr->recv_cq)); in create_qp_common()
872 mcq = to_mcq(init_attr->send_cq); in create_qp_common()
874 mcq = to_mcq(init_attr->recv_cq); in create_qp_common()
876 mlx4_ib_unlock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
877 to_mcq(init_attr->recv_cq)); in create_qp_common()
893 if (qp_has_rq(init_attr)) in create_qp_common()
910 if (!pd->uobject && qp_has_rq(init_attr)) in create_qp_common()
1103 struct ib_qp_init_attr *init_attr, in mlx4_ib_create_qp() argument
1112 gfp = (init_attr->create_flags & MLX4_IB_QP_CREATE_USE_GFP_NOIO) ? in mlx4_ib_create_qp()
1118 if (init_attr->create_flags & ~(MLX4_IB_QP_LSO | in mlx4_ib_create_qp()
1126 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP) { in mlx4_ib_create_qp()
1127 if (init_attr->qp_type != IB_QPT_UD) in mlx4_ib_create_qp()
1131 if (init_attr->create_flags && in mlx4_ib_create_qp()
1132 ((udata && init_attr->create_flags & ~(sup_u_create_flags)) || in mlx4_ib_create_qp()
1133 ((init_attr->create_flags & ~(MLX4_IB_SRIOV_SQP | in mlx4_ib_create_qp()
1136 init_attr->qp_type != IB_QPT_UD) || in mlx4_ib_create_qp()
1137 ((init_attr->create_flags & MLX4_IB_SRIOV_SQP) && in mlx4_ib_create_qp()
1138 init_attr->qp_type > IB_QPT_GSI))) in mlx4_ib_create_qp()
1141 switch (init_attr->qp_type) { in mlx4_ib_create_qp()
1143 pd = to_mxrcd(init_attr->xrcd)->pd; in mlx4_ib_create_qp()
1144 xrcdn = to_mxrcd(init_attr->xrcd)->xrcdn; in mlx4_ib_create_qp()
1145 init_attr->send_cq = to_mxrcd(init_attr->xrcd)->cq; in mlx4_ib_create_qp()
1150 init_attr->recv_cq = init_attr->send_cq; in mlx4_ib_create_qp()
1163 err = create_qp_common(to_mdev(pd->device), pd, init_attr, in mlx4_ib_create_qp()
1180 err = create_qp_common(to_mdev(pd->device), pd, init_attr, udata, in mlx4_ib_create_qp()
1181 get_sqp_num(to_mdev(pd->device), init_attr), in mlx4_ib_create_qp()
1186 qp->port = init_attr->port_num; in mlx4_ib_create_qp()
1187 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 : 1; in mlx4_ib_create_qp()