Lines Matching refs:init_attr
731 static int alloc_qpg_qpn(struct ib_qp_init_attr *init_attr, in alloc_qpg_qpn() argument
734 struct mlx4_ib_qp *mqp = to_mqp(init_attr->qpg_parent); in alloc_qpg_qpn()
738 switch (init_attr->qpg_type) { in alloc_qpg_qpn()
875 struct ib_qp_init_attr *init_attr, in create_qp_common() argument
882 enum mlx4_ib_qp_type qp_type = (enum mlx4_ib_qp_type) init_attr->qp_type; in create_qp_common()
885 init_attr->qpg_type = IB_QPG_NONE; in create_qp_common()
892 !(init_attr->create_flags & MLX4_IB_SRIOV_SQP))) { in create_qp_common()
893 if (init_attr->qp_type == IB_QPT_GSI) in create_qp_common()
902 init_attr->cap.max_recv_sge++; in create_qp_common()
903 } else if (init_attr->create_flags & MLX4_IB_SRIOV_TUNNEL_QP) { in create_qp_common()
905 container_of(init_attr, in create_qp_common()
906 struct mlx4_ib_qp_tunnel_init_attr, init_attr); in create_qp_common()
952 if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) in create_qp_common()
955 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, qp_has_rq(init_attr), qp); in create_qp_common()
993 if (qp_has_rq(init_attr)) { in create_qp_common()
1002 if (init_attr->create_flags & IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK) in create_qp_common()
1005 if (init_attr->create_flags & IB_QP_CREATE_IPOIB_UD_LSO) in create_qp_common()
1008 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP && in create_qp_common()
1014 err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); in create_qp_common()
1018 if (qp_has_rq(init_attr)) { in create_qp_common()
1068 err = alloc_qpn_common(dev, qp, init_attr, &qpn); in create_qp_common()
1077 if (init_attr->qp_type == IB_QPT_XRC_TGT) in create_qp_common()
1093 unalloc_qpn_common(dev, qp, init_attr, qpn); in create_qp_common()
1100 if (qp_has_rq(init_attr)) in create_qp_common()
1117 if (!pd->uobject && qp_has_rq(init_attr)) in create_qp_common()
1374 struct ib_qp_init_attr *init_attr, in mlx4_ib_create_qp() argument
1380 enum mlx4_ib_qp_flags mlx4_qp_flags = to_mlx4_ib_qp_flags(init_attr->create_flags); in mlx4_ib_create_qp()
1384 device = pd ? pd->device : init_attr->xrcd->device; in mlx4_ib_create_qp()
1395 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP) { in mlx4_ib_create_qp()
1396 if (init_attr->qp_type != IB_QPT_UD) in mlx4_ib_create_qp()
1400 if (init_attr->create_flags && in mlx4_ib_create_qp()
1403 init_attr->qp_type != IB_QPT_UD) || in mlx4_ib_create_qp()
1405 init_attr->qp_type > IB_QPT_GSI))) in mlx4_ib_create_qp()
1409 err = check_qpg_attr(to_mdev(device), init_attr); in mlx4_ib_create_qp()
1414 switch (init_attr->qp_type) { in mlx4_ib_create_qp()
1416 pd = to_mxrcd(init_attr->xrcd)->pd; in mlx4_ib_create_qp()
1417 xrcdn = to_mxrcd(init_attr->xrcd)->xrcdn; in mlx4_ib_create_qp()
1418 init_attr->send_cq = to_mxrcd(init_attr->xrcd)->cq; in mlx4_ib_create_qp()
1423 init_attr->recv_cq = init_attr->send_cq; in mlx4_ib_create_qp()
1435 err = create_qp_common(to_mdev(device), pd, init_attr, udata, 0, &qp); in mlx4_ib_create_qp()
1453 err = create_qp_common(to_mdev(device), pd, init_attr, udata, in mlx4_ib_create_qp()
1454 get_sqp_num(to_mdev(device), init_attr), in mlx4_ib_create_qp()
1459 qp->port = init_attr->port_num; in mlx4_ib_create_qp()
1460 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 : 1; in mlx4_ib_create_qp()