Lines Matching refs:init_attr
1031 struct ib_qp_init_attr *init_attr, in create_kernel_qp() argument
1040 if (init_attr->create_flags & ~(IB_QP_CREATE_INTEGRITY_EN | in create_kernel_qp()
1047 if (init_attr->qp_type == MLX5_IB_QPT_REG_UMR) in create_kernel_qp()
1058 err = calc_sq_size(dev, init_attr, qp); in create_kernel_qp()
1107 if (init_attr->create_flags & mlx5_ib_create_qp_sqpn_qp1()) { in create_kernel_qp()
1588 struct ib_qp_init_attr *init_attr, in create_rss_raw_qp_tir() argument
1609 if (init_attr->qp_type != IB_QPT_RAW_PACKET) in create_rss_raw_qp_tir()
1612 if (init_attr->create_flags || init_attr->send_cq) in create_rss_raw_qp_tir()
1689 init_attr->rwq_ind_tbl->ind_tbl_num); in create_rss_raw_qp_tir()
1726 if (!init_attr->rwq_ind_tbl->log_ind_tbl_size) in create_rss_raw_qp_tir()
1842 static void configure_responder_scat_cqe(struct ib_qp_init_attr *init_attr, in configure_responder_scat_cqe() argument
1847 if (init_attr->qp_type == MLX5_IB_QPT_DCI) in configure_responder_scat_cqe()
1850 rcqe_sz = mlx5_ib_get_cqe_size(init_attr->recv_cq); in configure_responder_scat_cqe()
1852 if (init_attr->qp_type == MLX5_IB_QPT_DCT) { in configure_responder_scat_cqe()
1865 struct ib_qp_init_attr *init_attr, in configure_requester_scat_cqe() argument
1869 enum ib_qp_type qpt = init_attr->qp_type; in configure_requester_scat_cqe()
1879 if (!allow_scat_cqe && init_attr->sq_sig_type != IB_SIGNAL_ALL_WR) in configure_requester_scat_cqe()
1882 scqe_sz = mlx5_ib_get_cqe_size(init_attr->send_cq); in configure_requester_scat_cqe()
1888 if (init_attr->qp_type != MLX5_IB_QPT_DCI || in configure_requester_scat_cqe()
1946 struct ib_qp_init_attr *init_attr, in create_qp_common() argument
1970 mlx5_st = to_mlx5_st(init_attr->qp_type); in create_qp_common()
1974 if (init_attr->rwq_ind_tbl) { in create_qp_common()
1978 err = create_rss_raw_qp_tir(dev, qp, pd, init_attr, udata); in create_qp_common()
1982 if (init_attr->create_flags & IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK) { in create_qp_common()
1991 if (init_attr->create_flags & in create_qp_common()
1999 if (init_attr->create_flags & IB_QP_CREATE_CROSS_CHANNEL) in create_qp_common()
2001 if (init_attr->create_flags & IB_QP_CREATE_MANAGED_SEND) in create_qp_common()
2003 if (init_attr->create_flags & IB_QP_CREATE_MANAGED_RECV) in create_qp_common()
2007 if (init_attr->qp_type == IB_QPT_UD && in create_qp_common()
2008 (init_attr->create_flags & IB_QP_CREATE_IPOIB_UD_LSO)) in create_qp_common()
2014 if (init_attr->create_flags & IB_QP_CREATE_SCATTER_FCS) { in create_qp_common()
2015 if (init_attr->qp_type != IB_QPT_RAW_PACKET) { in create_qp_common()
2027 if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) in create_qp_common()
2030 if (init_attr->create_flags & IB_QP_CREATE_CVLAN_STRIPPING) { in create_qp_common()
2033 (init_attr->qp_type != IB_QPT_RAW_PACKET)) in create_qp_common()
2065 if (init_attr->qp_type != IB_QPT_RAW_PACKET || in create_qp_common()
2074 if (init_attr->qp_type != IB_QPT_RAW_PACKET) { in create_qp_common()
2082 if (init_attr->qp_type != IB_QPT_RAW_PACKET) { in create_qp_common()
2090 if (init_attr->qp_type != IB_QPT_RC || in create_qp_common()
2098 if (init_attr->create_flags & IB_QP_CREATE_SOURCE_QPN) { in create_qp_common()
2099 if (init_attr->qp_type != IB_QPT_UD || in create_qp_common()
2108 qp->underlay_qpn = init_attr->source_qpn; in create_qp_common()
2114 base = (init_attr->qp_type == IB_QPT_RAW_PACKET || in create_qp_common()
2119 qp->has_rq = qp_has_rq(init_attr); in create_qp_common()
2120 err = set_rq_size(dev, &init_attr->cap, qp->has_rq, in create_qp_common()
2142 if (init_attr->create_flags & in create_qp_common()
2147 err = create_user_qp(dev, pd, qp, udata, init_attr, &in, in create_qp_common()
2152 err = create_kernel_qp(dev, init_attr, qp, &in, &inlen, in create_qp_common()
2168 if (is_sqp(init_attr->qp_type)) in create_qp_common()
2169 qp->port = init_attr->port_num; in create_qp_common()
2176 if (init_attr->qp_type != MLX5_IB_QPT_REG_UMR) in create_qp_common()
2196 if (qp->scat_cqe && is_connected(init_attr->qp_type)) { in create_qp_common()
2197 configure_responder_scat_cqe(init_attr, qpc); in create_qp_common()
2198 configure_requester_scat_cqe(dev, init_attr, in create_qp_common()
2208 MLX5_SET(qpc, qpc, rq_type, get_rx_type(qp, init_attr)); in create_qp_common()
2214 if (init_attr->srq && in create_qp_common()
2215 init_attr->srq->srq_type == IB_SRQT_TM) in create_qp_common()
2221 switch (init_attr->qp_type) { in create_qp_common()
2226 MLX5_SET(qpc, qpc, xrcd, to_mxrcd(init_attr->xrcd)->xrcdn); in create_qp_common()
2234 if (init_attr->srq) { in create_qp_common()
2236 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(init_attr->srq)->msrq.srqn); in create_qp_common()
2243 if (init_attr->send_cq) in create_qp_common()
2244 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(init_attr->send_cq)->mcq.cqn); in create_qp_common()
2246 if (init_attr->recv_cq) in create_qp_common()
2247 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(init_attr->recv_cq)->mcq.cqn); in create_qp_common()
2256 if (init_attr->qp_type == IB_QPT_UD && in create_qp_common()
2257 (init_attr->create_flags & IB_QP_CREATE_IPOIB_UD_LSO)) { in create_qp_common()
2262 if (init_attr->create_flags & IB_QP_CREATE_PCI_WRITE_END_PADDING) { in create_qp_common()
2267 } else if (init_attr->qp_type != IB_QPT_RAW_PACKET) { in create_qp_common()
2280 if (init_attr->qp_type == IB_QPT_RAW_PACKET || in create_qp_common()
2300 get_cqs(init_attr->qp_type, init_attr->send_cq, init_attr->recv_cq, in create_qp_common()
2590 struct ib_qp_init_attr *init_attr, in set_mlx_qp_type() argument
2609 init_attr->qp_type = MLX5_IB_QPT_DCI; in set_mlx_qp_type()
2612 init_attr->qp_type = MLX5_IB_QPT_DCT; in set_mlx_qp_type()
2636 struct ib_qp_init_attr *init_attr = verbs_init_attr; in mlx5_ib_create_qp() local
2643 if (init_attr->qp_type == IB_QPT_RAW_PACKET) { in mlx5_ib_create_qp()
2654 if (init_attr->qp_type != IB_QPT_XRC_TGT && in mlx5_ib_create_qp()
2655 init_attr->qp_type != MLX5_IB_QPT_REG_UMR) { in mlx5_ib_create_qp()
2657 ib_qp_type_str(init_attr->qp_type)); in mlx5_ib_create_qp()
2660 dev = to_mdev(to_mxrcd(init_attr->xrcd)->ibxrcd.device); in mlx5_ib_create_qp()
2663 if (init_attr->qp_type == IB_QPT_DRIVER) { in mlx5_ib_create_qp()
2666 init_attr = &mlx_init_attr; in mlx5_ib_create_qp()
2667 memcpy(init_attr, verbs_init_attr, sizeof(*verbs_init_attr)); in mlx5_ib_create_qp()
2668 err = set_mlx_qp_type(dev, init_attr, &ucmd, udata); in mlx5_ib_create_qp()
2672 if (init_attr->qp_type == MLX5_IB_QPT_DCI) { in mlx5_ib_create_qp()
2673 if (init_attr->cap.max_recv_wr || in mlx5_ib_create_qp()
2674 init_attr->cap.max_recv_sge) { in mlx5_ib_create_qp()
2679 return mlx5_ib_create_dct(pd, init_attr, &ucmd, udata); in mlx5_ib_create_qp()
2683 switch (init_attr->qp_type) { in mlx5_ib_create_qp()
2690 init_attr->recv_cq = NULL; in mlx5_ib_create_qp()
2691 if (init_attr->qp_type == IB_QPT_XRC_TGT) { in mlx5_ib_create_qp()
2692 xrcdn = to_mxrcd(init_attr->xrcd)->xrcdn; in mlx5_ib_create_qp()
2693 init_attr->send_cq = NULL; in mlx5_ib_create_qp()
2709 err = create_qp_common(dev, pd, init_attr, udata, qp); in mlx5_ib_create_qp()
2716 if (is_qp0(init_attr->qp_type)) in mlx5_ib_create_qp()
2718 else if (is_qp1(init_attr->qp_type)) in mlx5_ib_create_qp()
2725 init_attr->recv_cq ? to_mcq(init_attr->recv_cq)->mcq.cqn : -1, in mlx5_ib_create_qp()
2726 init_attr->send_cq ? to_mcq(init_attr->send_cq)->mcq.cqn : -1); in mlx5_ib_create_qp()
2733 return mlx5_ib_gsi_create_qp(pd, init_attr); in mlx5_ib_create_qp()
2740 init_attr->qp_type); in mlx5_ib_create_qp()
2746 qp->qp_sub_type = init_attr->qp_type; in mlx5_ib_create_qp()
5919 struct ib_wq_init_attr *init_attr) in create_rq() argument
5942 MLX5_SET(rqc, rqc, cqn, to_mcq(init_attr->cq)->mcq.cqn); in create_rq()
5949 if (init_attr->create_flags & IB_WQ_FLAGS_PCI_WRITE_END_PADDING) { in create_rq()
5974 if (init_attr->create_flags & IB_WQ_FLAGS_CVLAN_STRIPPING) { in create_rq()
5983 if (init_attr->create_flags & IB_WQ_FLAGS_SCATTER_FCS) { in create_rq()
5991 if (init_attr->create_flags & IB_WQ_FLAGS_DELAY_DROP) { in create_rq()
6003 if (!err && init_attr->create_flags & IB_WQ_FLAGS_DELAY_DROP) { in create_rq()
6041 struct ib_wq_init_attr *init_attr, in prepare_user_rq() argument
6104 err = set_user_rq_size(dev, init_attr, &ucmd, rwq); in prepare_user_rq()
6121 struct ib_wq_init_attr *init_attr, in mlx5_ib_create_wq() argument
6138 switch (init_attr->wq_type) { in mlx5_ib_create_wq()
6143 err = prepare_user_rq(pd, init_attr, udata, rwq); in mlx5_ib_create_wq()
6146 err = create_rq(rwq, pd, init_attr); in mlx5_ib_create_wq()
6152 init_attr->wq_type); in mlx5_ib_create_wq()
6167 rwq->ibwq.event_handler = init_attr->event_handler; in mlx5_ib_create_wq()
6190 struct ib_rwq_ind_table_init_attr *init_attr, in mlx5_ib_create_rwq_ind_table() argument
6195 int sz = 1 << init_attr->log_ind_tbl_size; in mlx5_ib_create_rwq_ind_table()
6209 if (init_attr->log_ind_tbl_size > in mlx5_ib_create_rwq_ind_table()
6212 init_attr->log_ind_tbl_size, in mlx5_ib_create_rwq_ind_table()
6238 MLX5_SET(rqtc, rqtc, rq_num[i], init_attr->ind_tbl[i]->wq_num); in mlx5_ib_create_rwq_ind_table()
6240 rwq_ind_tbl->uid = to_mpd(init_attr->ind_tbl[0]->pd)->uid; in mlx5_ib_create_rwq_ind_table()