Lines Matching defs:qpc
906 void *qpc;
976 qpc = MLX5_ADDR_OF(create_qp_in, *in, qpc);
978 MLX5_SET(qpc, qpc, log_page_size, page_shift - MLX5_ADAPTER_PAGE_SHIFT);
979 MLX5_SET(qpc, qpc, page_offset, offset);
981 MLX5_SET(qpc, qpc, uar_page, uar_index);
1046 void *qpc;
1103 qpc = MLX5_ADDR_OF(create_qp_in, *in, qpc);
1104 MLX5_SET(qpc, qpc, uar_page, uar_index);
1105 MLX5_SET(qpc, qpc, log_page_size, qp->buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT);
1108 MLX5_SET(qpc, qpc, fre, 1);
1109 MLX5_SET(qpc, qpc, rlky, 1);
1112 MLX5_SET(qpc, qpc, deth_sqpn, 1);
1208 void *qpc = MLX5_ADDR_OF(create_qp_in, qpin, qpc);
1236 MLX5_SET(sqc, sqc, user_index, MLX5_GET(qpc, qpc, user_index));
1237 MLX5_SET(sqc, sqc, cqn, MLX5_GET(qpc, qpc, cqn_snd));
1246 MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd));
1247 MLX5_SET(wq, wq, uar_page, MLX5_GET(qpc, qpc, uar_page));
1248 MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr));
1250 MLX5_SET(wq, wq, log_wq_sz, MLX5_GET(qpc, qpc, log_sq_size));
1281 static size_t get_rq_pas_size(void *qpc)
1283 u32 log_page_size = MLX5_GET(qpc, qpc, log_page_size) + 12;
1284 u32 log_rq_stride = MLX5_GET(qpc, qpc, log_rq_stride);
1285 u32 log_rq_size = MLX5_GET(qpc, qpc, log_rq_size);
1286 u32 page_offset = MLX5_GET(qpc, qpc, page_offset);
1306 void *qpc = MLX5_ADDR_OF(create_qp_in, qpin, qpc);
1307 size_t rq_pas_size = get_rq_pas_size(qpc);
1326 MLX5_SET(rqc, rqc, user_index, MLX5_GET(qpc, qpc, user_index));
1327 MLX5_SET(rqc, rqc, cqn, MLX5_GET(qpc, qpc, cqn_rcv));
1336 MLX5_SET(wq, wq, page_offset, MLX5_GET(qpc, qpc, page_offset));
1337 MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd));
1338 MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr));
1339 MLX5_SET(wq, wq, log_wq_stride, MLX5_GET(qpc, qpc, log_rq_stride) + 4);
1340 MLX5_SET(wq, wq, log_wq_pg_sz, MLX5_GET(qpc, qpc, log_page_size));
1341 MLX5_SET(wq, wq, log_wq_sz, MLX5_GET(qpc, qpc, log_rq_size));
1774 void *qpc)
1786 MLX5_SET(qpc, qpc, cs_req, MLX5_REQ_SCAT_DATA64_CQE);
1792 MLX5_SET(qpc, qpc, cs_req, MLX5_REQ_SCAT_DATA32_CQE);
1853 void *qpc;
1864 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc);
1866 MLX5_SET(qpc, qpc, st, MLX5_QP_ST_XRC);
1867 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
1868 MLX5_SET(qpc, qpc, pd, to_mpd(devr->p0)->pdn);
1871 MLX5_SET(qpc, qpc, block_lb_mc, 1);
1873 MLX5_SET(qpc, qpc, cd_master, 1);
1875 MLX5_SET(qpc, qpc, cd_slave_send, 1);
1877 MLX5_SET(qpc, qpc, cd_slave_receive, 1);
1879 MLX5_SET(qpc, qpc, rq_type, MLX5_SRQ_RQ);
1880 MLX5_SET(qpc, qpc, no_sq, 1);
1881 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(devr->c0)->mcq.cqn);
1882 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(devr->c0)->mcq.cqn);
1883 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s0)->msrq.srqn);
1884 MLX5_SET(qpc, qpc, xrcd, to_mxrcd(attr->xrcd)->xrcdn);
1885 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma);
1889 MLX5_SET(qpc, qpc, user_index, uidx);
1892 MLX5_SET(qpc, qpc, end_padding_mode,
1934 void *qpc;
1980 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc);
1982 MLX5_SET(qpc, qpc, st, mlx5_st);
1983 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
1984 MLX5_SET(qpc, qpc, pd, to_mpd(pd)->pdn);
1987 MLX5_SET(qpc, qpc, wq_signature, 1);
1990 MLX5_SET(qpc, qpc, block_lb_mc, 1);
1993 MLX5_SET(qpc, qpc, cd_master, 1);
1995 MLX5_SET(qpc, qpc, cd_slave_send, 1);
1997 MLX5_SET(qpc, qpc, cd_slave_receive, 1);
1999 MLX5_SET(qpc, qpc, req_e2e_credit_mode, 1);
2005 MLX5_SET(qpc, qpc, cs_res,
2011 configure_requester_scat_cqe(dev, qp, init_attr, qpc);
2014 MLX5_SET(qpc, qpc, log_rq_stride, qp->rq.wqe_shift - 4);
2015 MLX5_SET(qpc, qpc, log_rq_size, ilog2(qp->rq.wqe_cnt));
2018 MLX5_SET(qpc, qpc, rq_type, get_rx_type(qp, init_attr));
2021 MLX5_SET(qpc, qpc, log_sq_size, ilog2(qp->sq.wqe_cnt));
2023 MLX5_SET(qpc, qpc, no_sq, 1);
2026 MLX5_SET(qpc, qpc, offload_type,
2033 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(devr->c0)->mcq.cqn);
2034 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1);
2035 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s0)->msrq.srqn);
2039 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn0);
2040 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(init_attr->srq)->msrq.srqn);
2042 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1);
2043 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s1)->msrq.srqn);
2048 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(init_attr->send_cq)->mcq.cqn);
2051 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(init_attr->recv_cq)->mcq.cqn);
2053 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma);
2057 MLX5_SET(qpc, qpc, user_index, uidx);
2061 MLX5_SET(qpc, qpc, end_padding_mode,
2124 void *qpc;
2154 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc);
2156 MLX5_SET(qpc, qpc, st, mlx5_st);
2157 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
2160 MLX5_SET(qpc, qpc, pd, to_mpd(pd ? pd : devr->p0)->pdn);
2162 MLX5_SET(qpc, qpc, latency_sensitive, 1);
2166 MLX5_SET(qpc, qpc, block_lb_mc, 1);
2169 MLX5_SET(qpc, qpc, log_rq_stride, qp->rq.wqe_shift - 4);
2170 MLX5_SET(qpc, qpc, log_rq_size, ilog2(qp->rq.wqe_cnt));
2173 MLX5_SET(qpc, qpc, rq_type, get_rx_type(qp, attr));
2176 MLX5_SET(qpc, qpc, log_sq_size, ilog2(qp->sq.wqe_cnt));
2178 MLX5_SET(qpc, qpc, no_sq, 1);
2181 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn0);
2182 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn,
2185 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1);
2186 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn,
2191 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(attr->send_cq)->mcq.cqn);
2194 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(attr->recv_cq)->mcq.cqn);
2196 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma);
2200 MLX5_SET(qpc, qpc, user_index, uidx);
2204 MLX5_SET(qpc, qpc, ulp_stateless_offload_mode, 1);
3037 void *qpc)
3056 MLX5_SET(qpc, qpc, rre, !!(access_flags & IB_ACCESS_REMOTE_READ));
3065 MLX5_SET(qpc, qpc, rae, 1);
3066 MLX5_SET(qpc, qpc, atomic_mode, atomic_mode);
3069 MLX5_SET(qpc, qpc, rwe, !!(access_flags & IB_ACCESS_REMOTE_WRITE));
3749 u32 *qpc;
3766 qpc = MLX5_ADDR_OF(rts2rts_qp_in, in, qpc);
3767 MLX5_SET(qpc, qpc, counter_set_id, set_id);
3822 void *qpc, *pri_path, *alt_path;
3834 qpc = kzalloc(MLX5_ST_SZ_BYTES(qpc), GFP_KERNEL);
3835 if (!qpc)
3839 MLX5_SET(qpc, qpc, st, mlx5_st);
3842 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
3846 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED);
3849 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_REARM);
3852 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_ARMED);
3861 MLX5_SET(qpc, qpc, lag_tx_port_affinity, tx_affinity);
3867 MLX5_SET(qpc, qpc, mtu, IB_MTU_256);
3868 MLX5_SET(qpc, qpc, log_msg_max, 8);
3872 MLX5_SET(qpc, qpc, mtu, IB_MTU_4096);
3873 MLX5_SET(qpc, qpc, log_msg_max, 12);
3881 MLX5_SET(qpc, qpc, mtu, attr->path_mtu);
3882 MLX5_SET(qpc, qpc, log_msg_max,
3887 MLX5_SET(qpc, qpc, remote_qpn, attr->dest_qp_num);
3889 pri_path = MLX5_ADDR_OF(qpc, qpc, primary_address_path);
3890 alt_path = MLX5_ADDR_OF(qpc, qpc, secondary_address_path);
3928 MLX5_SET(qpc, qpc, pd, pd ? pd->pdn : to_mpd(dev->devr.p0)->pdn);
3930 MLX5_SET(qpc, qpc, cqn_snd, send_cq->mcq.cqn);
3932 MLX5_SET(qpc, qpc, cqn_rcv, recv_cq->mcq.cqn);
3934 MLX5_SET(qpc, qpc, log_ack_req_freq, MLX5_IB_ACK_REQ_FREQ);
3937 MLX5_SET(qpc, qpc, rnr_retry, attr->rnr_retry);
3940 MLX5_SET(qpc, qpc, retry_count, attr->retry_cnt);
3943 MLX5_SET(qpc, qpc, log_sra_max, ilog2(attr->max_rd_atomic));
3946 MLX5_SET(qpc, qpc, next_send_psn, attr->sq_psn);
3949 MLX5_SET(qpc, qpc, log_rra_max,
3953 err = set_qpc_atomic_flags(qp, attr, attr_mask, qpc);
3959 MLX5_SET(qpc, qpc, min_rnr_nak, attr->min_rnr_timer);
3962 MLX5_SET(qpc, qpc, next_rcv_psn, attr->rq_psn);
3965 MLX5_SET(qpc, qpc, q_key, attr->qkey);
3968 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma);
3982 MLX5_SET(qpc, qpc, counter_set_id, set_id);
3986 MLX5_SET(qpc, qpc, rlky, 1);
3989 MLX5_SET(qpc, qpc, deth_sqpn, 1);
4054 err = mlx5_core_qp_modify(dev, op, optpar, qpc, &base->mqp,
4102 kfree(qpc);
4612 void *qpc, *pri_path, *alt_path;
4624 qpc = MLX5_ADDR_OF(query_qp_out, outb, qpc);
4626 qp->state = to_ib_qp_state(MLX5_GET(qpc, qpc, state));
4627 if (MLX5_GET(qpc, qpc, state) == MLX5_QP_STATE_SQ_DRAINING)
4630 qp_attr->path_mtu = MLX5_GET(qpc, qpc, mtu);
4631 qp_attr->path_mig_state = to_ib_mig_state(MLX5_GET(qpc, qpc, pm_state));
4632 qp_attr->qkey = MLX5_GET(qpc, qpc, q_key);
4633 qp_attr->rq_psn = MLX5_GET(qpc, qpc, next_rcv_psn);
4634 qp_attr->sq_psn = MLX5_GET(qpc, qpc, next_send_psn);
4635 qp_attr->dest_qp_num = MLX5_GET(qpc, qpc, remote_qpn);
4637 if (MLX5_GET(qpc, qpc, rre))
4639 if (MLX5_GET(qpc, qpc, rwe))
4641 if (MLX5_GET(qpc, qpc, rae))
4644 qp_attr->max_rd_atomic = 1 << MLX5_GET(qpc, qpc, log_sra_max);
4645 qp_attr->max_dest_rd_atomic = 1 << MLX5_GET(qpc, qpc, log_rra_max);
4646 qp_attr->min_rnr_timer = MLX5_GET(qpc, qpc, min_rnr_nak);
4647 qp_attr->retry_cnt = MLX5_GET(qpc, qpc, retry_count);
4648 qp_attr->rnr_retry = MLX5_GET(qpc, qpc, rnr_retry);
4650 pri_path = MLX5_ADDR_OF(qpc, qpc, primary_address_path);
4651 alt_path = MLX5_ADDR_OF(qpc, qpc, secondary_address_path);