Lines Matching refs:init_attr

538 		      struct ib_qp_init_attr *init_attr,  in set_qp_rss()  argument
541 rss_ctx->base_qpn_tbl_sz = init_attr->rwq_ind_tbl->ind_tbl[0]->wq_num | in set_qp_rss()
542 (init_attr->rwq_ind_tbl->log_ind_tbl_size << 24); in set_qp_rss()
640 struct ib_qp_init_attr *init_attr, in create_qp_rss() argument
671 (struct ib_qp *)init_attr->rwq_ind_tbl->ind_tbl[0]))->mtt; in create_qp_rss()
679 err = set_qp_rss(dev, qp->rss_ctx, init_attr, ucmd); in create_qp_rss()
698 struct ib_qp_init_attr *init_attr, in _mlx4_ib_create_qp_rss() argument
739 if (init_attr->qp_type != IB_QPT_RAW_PACKET) { in _mlx4_ib_create_qp_rss()
741 init_attr->qp_type); in _mlx4_ib_create_qp_rss()
745 if (init_attr->create_flags) { in _mlx4_ib_create_qp_rss()
750 if (init_attr->send_cq || init_attr->cap.max_send_wr) { in _mlx4_ib_create_qp_rss()
762 err = create_qp_rss(to_mdev(pd->device), init_attr, &ucmd, qp); in _mlx4_ib_create_qp_rss()
858 struct ib_qp_init_attr *init_attr, in create_qp_common() argument
866 enum mlx4_ib_qp_type qp_type = (enum mlx4_ib_qp_type) init_attr->qp_type; in create_qp_common()
875 !(init_attr->create_flags & MLX4_IB_SRIOV_SQP))) { in create_qp_common()
876 if (init_attr->qp_type == IB_QPT_GSI) in create_qp_common()
888 init_attr->cap.max_recv_sge++; in create_qp_common()
889 } else if (init_attr->create_flags & MLX4_IB_SRIOV_TUNNEL_QP) { in create_qp_common()
891 container_of(init_attr, in create_qp_common()
892 struct mlx4_ib_qp_tunnel_init_attr, init_attr); in create_qp_common()
941 if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) in create_qp_common()
983 if (init_attr->create_flags & IB_QP_CREATE_SCATTER_FCS) { in create_qp_common()
994 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, in create_qp_common()
995 qp_has_rq(init_attr), qp, qp->inl_recv_sz); in create_qp_common()
1037 if (qp_has_rq(init_attr)) { in create_qp_common()
1046 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, in create_qp_common()
1047 qp_has_rq(init_attr), qp, 0); in create_qp_common()
1053 if (init_attr->create_flags & IB_QP_CREATE_IPOIB_UD_LSO) in create_qp_common()
1056 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP) { in create_qp_common()
1064 err = set_kernel_sq_size(dev, &init_attr->cap, qp_type, qp); in create_qp_common()
1068 if (qp_has_rq(init_attr)) { in create_qp_common()
1119 if (init_attr->qp_type == IB_QPT_RAW_PACKET) in create_qp_common()
1121 (init_attr->cap.max_send_wr ? in create_qp_common()
1123 (init_attr->cap.max_recv_wr ? in create_qp_common()
1136 if (init_attr->create_flags & IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK) in create_qp_common()
1143 if (init_attr->qp_type == IB_QPT_XRC_TGT) in create_qp_common()
1160 mlx4_ib_lock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
1161 to_mcq(init_attr->recv_cq)); in create_qp_common()
1169 mcq = to_mcq(init_attr->send_cq); in create_qp_common()
1171 mcq = to_mcq(init_attr->recv_cq); in create_qp_common()
1173 mlx4_ib_unlock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
1174 to_mcq(init_attr->recv_cq)); in create_qp_common()
1193 if (qp_has_rq(init_attr)) in create_qp_common()
1210 if (!pd->uobject && qp_has_rq(init_attr)) in create_qp_common()
1443 struct ib_qp_init_attr *init_attr, in _mlx4_ib_create_qp() argument
1451 if (init_attr->rwq_ind_tbl) in _mlx4_ib_create_qp()
1452 return _mlx4_ib_create_qp_rss(pd, init_attr, udata); in _mlx4_ib_create_qp()
1458 if (init_attr->create_flags & ~(MLX4_IB_QP_LSO | in _mlx4_ib_create_qp()
1466 if (init_attr->create_flags & IB_QP_CREATE_NETIF_QP) { in _mlx4_ib_create_qp()
1467 if (init_attr->qp_type != IB_QPT_UD) in _mlx4_ib_create_qp()
1471 if (init_attr->create_flags) { in _mlx4_ib_create_qp()
1472 if (udata && init_attr->create_flags & ~(sup_u_create_flags)) in _mlx4_ib_create_qp()
1475 if ((init_attr->create_flags & ~(MLX4_IB_SRIOV_SQP | in _mlx4_ib_create_qp()
1478 init_attr->qp_type != IB_QPT_UD) || in _mlx4_ib_create_qp()
1479 (init_attr->create_flags & MLX4_IB_SRIOV_SQP && in _mlx4_ib_create_qp()
1480 init_attr->qp_type > IB_QPT_GSI) || in _mlx4_ib_create_qp()
1481 (init_attr->create_flags & MLX4_IB_QP_CREATE_ROCE_V2_GSI && in _mlx4_ib_create_qp()
1482 init_attr->qp_type != IB_QPT_GSI)) in _mlx4_ib_create_qp()
1486 switch (init_attr->qp_type) { in _mlx4_ib_create_qp()
1488 pd = to_mxrcd(init_attr->xrcd)->pd; in _mlx4_ib_create_qp()
1489 xrcdn = to_mxrcd(init_attr->xrcd)->xrcdn; in _mlx4_ib_create_qp()
1490 init_attr->send_cq = to_mxrcd(init_attr->xrcd)->cq; in _mlx4_ib_create_qp()
1495 init_attr->recv_cq = init_attr->send_cq; in _mlx4_ib_create_qp()
1509 init_attr, udata, 0, &qp); in _mlx4_ib_create_qp()
1528 if (init_attr->create_flags & MLX4_IB_QP_CREATE_ROCE_V2_GSI) { in _mlx4_ib_create_qp()
1536 sqpn = get_sqp_num(to_mdev(pd->device), init_attr); in _mlx4_ib_create_qp()
1540 init_attr, udata, sqpn, &qp); in _mlx4_ib_create_qp()
1544 qp->port = init_attr->port_num; in _mlx4_ib_create_qp()
1545 qp->ibqp.qp_num = init_attr->qp_type == IB_QPT_SMI ? 0 : in _mlx4_ib_create_qp()
1546 init_attr->create_flags & MLX4_IB_QP_CREATE_ROCE_V2_GSI ? sqpn : 1; in _mlx4_ib_create_qp()
1558 struct ib_qp_init_attr *init_attr, in mlx4_ib_create_qp() argument
1560 struct ib_device *device = pd ? pd->device : init_attr->xrcd->device; in mlx4_ib_create_qp()
1564 ibqp = _mlx4_ib_create_qp(pd, init_attr, udata); in mlx4_ib_create_qp()
1567 (init_attr->qp_type == IB_QPT_GSI) && in mlx4_ib_create_qp()
1568 !(init_attr->create_flags & MLX4_IB_QP_CREATE_ROCE_V2_GSI)) { in mlx4_ib_create_qp()
1570 int is_eth = rdma_cap_eth_ah(&dev->ib_dev, init_attr->port_num); in mlx4_ib_create_qp()
1574 init_attr->create_flags |= MLX4_IB_QP_CREATE_ROCE_V2_GSI; in mlx4_ib_create_qp()
1575 sqp->roce_v2_gsi = ib_create_qp(pd, init_attr); in mlx4_ib_create_qp()
1585 init_attr->create_flags &= ~MLX4_IB_QP_CREATE_ROCE_V2_GSI; in mlx4_ib_create_qp()
4044 struct ib_wq_init_attr *init_attr, in mlx4_ib_create_wq() argument
4075 if (init_attr->wq_type != IB_WQT_RQ) { in mlx4_ib_create_wq()
4076 pr_debug("unsupported wq type %d\n", init_attr->wq_type); in mlx4_ib_create_wq()
4080 if (init_attr->create_flags & ~IB_WQ_FLAGS_SCATTER_FCS) { in mlx4_ib_create_wq()
4082 init_attr->create_flags); in mlx4_ib_create_wq()
4094 ib_qp_init_attr.qp_context = init_attr->wq_context; in mlx4_ib_create_wq()
4096 ib_qp_init_attr.cap.max_recv_wr = init_attr->max_wr; in mlx4_ib_create_wq()
4097 ib_qp_init_attr.cap.max_recv_sge = init_attr->max_sge; in mlx4_ib_create_wq()
4098 ib_qp_init_attr.recv_cq = init_attr->cq; in mlx4_ib_create_wq()
4101 if (init_attr->create_flags & IB_WQ_FLAGS_SCATTER_FCS) in mlx4_ib_create_wq()
4111 qp->ibwq.event_handler = init_attr->event_handler; in mlx4_ib_create_wq()
4261 struct ib_rwq_ind_table_init_attr *init_attr, in mlx4_ib_create_rwq_ind_table() argument
4266 unsigned int ind_tbl_size = 1 << init_attr->log_ind_tbl_size; in mlx4_ib_create_rwq_ind_table()
4289 base_wqn = init_attr->ind_tbl[0]->wq_num; in mlx4_ib_create_rwq_ind_table()
4298 if (++base_wqn != init_attr->ind_tbl[i]->wq_num) { in mlx4_ib_create_rwq_ind_table()