• Home
  • Raw
  • Download

Lines Matching refs:qpc

906 	void *qpc;  in _create_user_qp()  local
976 qpc = MLX5_ADDR_OF(create_qp_in, *in, qpc); in _create_user_qp()
978 MLX5_SET(qpc, qpc, log_page_size, page_shift - MLX5_ADAPTER_PAGE_SHIFT); in _create_user_qp()
979 MLX5_SET(qpc, qpc, page_offset, offset); in _create_user_qp()
981 MLX5_SET(qpc, qpc, uar_page, uar_index); in _create_user_qp()
1046 void *qpc; in _create_kernel_qp() local
1103 qpc = MLX5_ADDR_OF(create_qp_in, *in, qpc); in _create_kernel_qp()
1104 MLX5_SET(qpc, qpc, uar_page, uar_index); in _create_kernel_qp()
1105 MLX5_SET(qpc, qpc, log_page_size, qp->buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT); in _create_kernel_qp()
1108 MLX5_SET(qpc, qpc, fre, 1); in _create_kernel_qp()
1109 MLX5_SET(qpc, qpc, rlky, 1); in _create_kernel_qp()
1112 MLX5_SET(qpc, qpc, deth_sqpn, 1); in _create_kernel_qp()
1208 void *qpc = MLX5_ADDR_OF(create_qp_in, qpin, qpc); in create_raw_packet_qp_sq() local
1236 MLX5_SET(sqc, sqc, user_index, MLX5_GET(qpc, qpc, user_index)); in create_raw_packet_qp_sq()
1237 MLX5_SET(sqc, sqc, cqn, MLX5_GET(qpc, qpc, cqn_snd)); in create_raw_packet_qp_sq()
1246 MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd)); in create_raw_packet_qp_sq()
1247 MLX5_SET(wq, wq, uar_page, MLX5_GET(qpc, qpc, uar_page)); in create_raw_packet_qp_sq()
1248 MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr)); in create_raw_packet_qp_sq()
1250 MLX5_SET(wq, wq, log_wq_sz, MLX5_GET(qpc, qpc, log_sq_size)); in create_raw_packet_qp_sq()
1281 static size_t get_rq_pas_size(void *qpc) in get_rq_pas_size() argument
1283 u32 log_page_size = MLX5_GET(qpc, qpc, log_page_size) + 12; in get_rq_pas_size()
1284 u32 log_rq_stride = MLX5_GET(qpc, qpc, log_rq_stride); in get_rq_pas_size()
1285 u32 log_rq_size = MLX5_GET(qpc, qpc, log_rq_size); in get_rq_pas_size()
1286 u32 page_offset = MLX5_GET(qpc, qpc, page_offset); in get_rq_pas_size()
1306 void *qpc = MLX5_ADDR_OF(create_qp_in, qpin, qpc); in create_raw_packet_qp_rq() local
1307 size_t rq_pas_size = get_rq_pas_size(qpc); in create_raw_packet_qp_rq()
1326 MLX5_SET(rqc, rqc, user_index, MLX5_GET(qpc, qpc, user_index)); in create_raw_packet_qp_rq()
1327 MLX5_SET(rqc, rqc, cqn, MLX5_GET(qpc, qpc, cqn_rcv)); in create_raw_packet_qp_rq()
1336 MLX5_SET(wq, wq, page_offset, MLX5_GET(qpc, qpc, page_offset)); in create_raw_packet_qp_rq()
1337 MLX5_SET(wq, wq, pd, MLX5_GET(qpc, qpc, pd)); in create_raw_packet_qp_rq()
1338 MLX5_SET64(wq, wq, dbr_addr, MLX5_GET64(qpc, qpc, dbr_addr)); in create_raw_packet_qp_rq()
1339 MLX5_SET(wq, wq, log_wq_stride, MLX5_GET(qpc, qpc, log_rq_stride) + 4); in create_raw_packet_qp_rq()
1340 MLX5_SET(wq, wq, log_wq_pg_sz, MLX5_GET(qpc, qpc, log_page_size)); in create_raw_packet_qp_rq()
1341 MLX5_SET(wq, wq, log_wq_sz, MLX5_GET(qpc, qpc, log_rq_size)); in create_raw_packet_qp_rq()
1774 void *qpc) in configure_requester_scat_cqe() argument
1786 MLX5_SET(qpc, qpc, cs_req, MLX5_REQ_SCAT_DATA64_CQE); in configure_requester_scat_cqe()
1792 MLX5_SET(qpc, qpc, cs_req, MLX5_REQ_SCAT_DATA32_CQE); in configure_requester_scat_cqe()
1853 void *qpc; in create_xrc_tgt_qp() local
1864 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc); in create_xrc_tgt_qp()
1866 MLX5_SET(qpc, qpc, st, MLX5_QP_ST_XRC); in create_xrc_tgt_qp()
1867 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED); in create_xrc_tgt_qp()
1868 MLX5_SET(qpc, qpc, pd, to_mpd(devr->p0)->pdn); in create_xrc_tgt_qp()
1871 MLX5_SET(qpc, qpc, block_lb_mc, 1); in create_xrc_tgt_qp()
1873 MLX5_SET(qpc, qpc, cd_master, 1); in create_xrc_tgt_qp()
1875 MLX5_SET(qpc, qpc, cd_slave_send, 1); in create_xrc_tgt_qp()
1877 MLX5_SET(qpc, qpc, cd_slave_receive, 1); in create_xrc_tgt_qp()
1879 MLX5_SET(qpc, qpc, rq_type, MLX5_SRQ_RQ); in create_xrc_tgt_qp()
1880 MLX5_SET(qpc, qpc, no_sq, 1); in create_xrc_tgt_qp()
1881 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(devr->c0)->mcq.cqn); in create_xrc_tgt_qp()
1882 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(devr->c0)->mcq.cqn); in create_xrc_tgt_qp()
1883 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s0)->msrq.srqn); in create_xrc_tgt_qp()
1884 MLX5_SET(qpc, qpc, xrcd, to_mxrcd(attr->xrcd)->xrcdn); in create_xrc_tgt_qp()
1885 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma); in create_xrc_tgt_qp()
1889 MLX5_SET(qpc, qpc, user_index, uidx); in create_xrc_tgt_qp()
1892 MLX5_SET(qpc, qpc, end_padding_mode, in create_xrc_tgt_qp()
1934 void *qpc; in create_user_qp() local
1980 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc); in create_user_qp()
1982 MLX5_SET(qpc, qpc, st, mlx5_st); in create_user_qp()
1983 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED); in create_user_qp()
1984 MLX5_SET(qpc, qpc, pd, to_mpd(pd)->pdn); in create_user_qp()
1987 MLX5_SET(qpc, qpc, wq_signature, 1); in create_user_qp()
1990 MLX5_SET(qpc, qpc, block_lb_mc, 1); in create_user_qp()
1993 MLX5_SET(qpc, qpc, cd_master, 1); in create_user_qp()
1995 MLX5_SET(qpc, qpc, cd_slave_send, 1); in create_user_qp()
1997 MLX5_SET(qpc, qpc, cd_slave_receive, 1); in create_user_qp()
1999 MLX5_SET(qpc, qpc, req_e2e_credit_mode, 1); in create_user_qp()
2005 MLX5_SET(qpc, qpc, cs_res, in create_user_qp()
2011 configure_requester_scat_cqe(dev, qp, init_attr, qpc); in create_user_qp()
2014 MLX5_SET(qpc, qpc, log_rq_stride, qp->rq.wqe_shift - 4); in create_user_qp()
2015 MLX5_SET(qpc, qpc, log_rq_size, ilog2(qp->rq.wqe_cnt)); in create_user_qp()
2018 MLX5_SET(qpc, qpc, rq_type, get_rx_type(qp, init_attr)); in create_user_qp()
2021 MLX5_SET(qpc, qpc, log_sq_size, ilog2(qp->sq.wqe_cnt)); in create_user_qp()
2023 MLX5_SET(qpc, qpc, no_sq, 1); in create_user_qp()
2026 MLX5_SET(qpc, qpc, offload_type, in create_user_qp()
2033 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(devr->c0)->mcq.cqn); in create_user_qp()
2034 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1); in create_user_qp()
2035 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s0)->msrq.srqn); in create_user_qp()
2039 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn0); in create_user_qp()
2040 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(init_attr->srq)->msrq.srqn); in create_user_qp()
2042 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1); in create_user_qp()
2043 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, to_msrq(devr->s1)->msrq.srqn); in create_user_qp()
2048 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(init_attr->send_cq)->mcq.cqn); in create_user_qp()
2051 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(init_attr->recv_cq)->mcq.cqn); in create_user_qp()
2053 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma); in create_user_qp()
2057 MLX5_SET(qpc, qpc, user_index, uidx); in create_user_qp()
2061 MLX5_SET(qpc, qpc, end_padding_mode, in create_user_qp()
2124 void *qpc; in create_kernel_qp() local
2154 qpc = MLX5_ADDR_OF(create_qp_in, in, qpc); in create_kernel_qp()
2156 MLX5_SET(qpc, qpc, st, mlx5_st); in create_kernel_qp()
2157 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED); in create_kernel_qp()
2160 MLX5_SET(qpc, qpc, pd, to_mpd(pd ? pd : devr->p0)->pdn); in create_kernel_qp()
2162 MLX5_SET(qpc, qpc, latency_sensitive, 1); in create_kernel_qp()
2166 MLX5_SET(qpc, qpc, block_lb_mc, 1); in create_kernel_qp()
2169 MLX5_SET(qpc, qpc, log_rq_stride, qp->rq.wqe_shift - 4); in create_kernel_qp()
2170 MLX5_SET(qpc, qpc, log_rq_size, ilog2(qp->rq.wqe_cnt)); in create_kernel_qp()
2173 MLX5_SET(qpc, qpc, rq_type, get_rx_type(qp, attr)); in create_kernel_qp()
2176 MLX5_SET(qpc, qpc, log_sq_size, ilog2(qp->sq.wqe_cnt)); in create_kernel_qp()
2178 MLX5_SET(qpc, qpc, no_sq, 1); in create_kernel_qp()
2181 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn0); in create_kernel_qp()
2182 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, in create_kernel_qp()
2185 MLX5_SET(qpc, qpc, xrcd, devr->xrcdn1); in create_kernel_qp()
2186 MLX5_SET(qpc, qpc, srqn_rmpn_xrqn, in create_kernel_qp()
2191 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(attr->send_cq)->mcq.cqn); in create_kernel_qp()
2194 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(attr->recv_cq)->mcq.cqn); in create_kernel_qp()
2196 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma); in create_kernel_qp()
2200 MLX5_SET(qpc, qpc, user_index, uidx); in create_kernel_qp()
2204 MLX5_SET(qpc, qpc, ulp_stateless_offload_mode, 1); in create_kernel_qp()
3037 void *qpc) in set_qpc_atomic_flags() argument
3056 MLX5_SET(qpc, qpc, rre, !!(access_flags & IB_ACCESS_REMOTE_READ)); in set_qpc_atomic_flags()
3065 MLX5_SET(qpc, qpc, rae, 1); in set_qpc_atomic_flags()
3066 MLX5_SET(qpc, qpc, atomic_mode, atomic_mode); in set_qpc_atomic_flags()
3069 MLX5_SET(qpc, qpc, rwe, !!(access_flags & IB_ACCESS_REMOTE_WRITE)); in set_qpc_atomic_flags()
3725 u32 *qpc; in __mlx5_ib_qp_set_counter() local
3739 qpc = MLX5_ADDR_OF(rts2rts_qp_in, in, qpc); in __mlx5_ib_qp_set_counter()
3740 MLX5_SET(qpc, qpc, counter_set_id, set_id); in __mlx5_ib_qp_set_counter()
3795 void *qpc, *pri_path, *alt_path; in __mlx5_ib_modify_qp() local
3807 qpc = kzalloc(MLX5_ST_SZ_BYTES(qpc), GFP_KERNEL); in __mlx5_ib_modify_qp()
3808 if (!qpc) in __mlx5_ib_modify_qp()
3812 MLX5_SET(qpc, qpc, st, mlx5_st); in __mlx5_ib_modify_qp()
3815 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED); in __mlx5_ib_modify_qp()
3819 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_MIGRATED); in __mlx5_ib_modify_qp()
3822 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_REARM); in __mlx5_ib_modify_qp()
3825 MLX5_SET(qpc, qpc, pm_state, MLX5_QP_PM_ARMED); in __mlx5_ib_modify_qp()
3834 MLX5_SET(qpc, qpc, lag_tx_port_affinity, tx_affinity); in __mlx5_ib_modify_qp()
3840 MLX5_SET(qpc, qpc, mtu, IB_MTU_256); in __mlx5_ib_modify_qp()
3841 MLX5_SET(qpc, qpc, log_msg_max, 8); in __mlx5_ib_modify_qp()
3845 MLX5_SET(qpc, qpc, mtu, IB_MTU_4096); in __mlx5_ib_modify_qp()
3846 MLX5_SET(qpc, qpc, log_msg_max, 12); in __mlx5_ib_modify_qp()
3854 MLX5_SET(qpc, qpc, mtu, attr->path_mtu); in __mlx5_ib_modify_qp()
3855 MLX5_SET(qpc, qpc, log_msg_max, in __mlx5_ib_modify_qp()
3860 MLX5_SET(qpc, qpc, remote_qpn, attr->dest_qp_num); in __mlx5_ib_modify_qp()
3862 pri_path = MLX5_ADDR_OF(qpc, qpc, primary_address_path); in __mlx5_ib_modify_qp()
3863 alt_path = MLX5_ADDR_OF(qpc, qpc, secondary_address_path); in __mlx5_ib_modify_qp()
3901 MLX5_SET(qpc, qpc, pd, pd ? pd->pdn : to_mpd(dev->devr.p0)->pdn); in __mlx5_ib_modify_qp()
3903 MLX5_SET(qpc, qpc, cqn_snd, send_cq->mcq.cqn); in __mlx5_ib_modify_qp()
3905 MLX5_SET(qpc, qpc, cqn_rcv, recv_cq->mcq.cqn); in __mlx5_ib_modify_qp()
3907 MLX5_SET(qpc, qpc, log_ack_req_freq, MLX5_IB_ACK_REQ_FREQ); in __mlx5_ib_modify_qp()
3910 MLX5_SET(qpc, qpc, rnr_retry, attr->rnr_retry); in __mlx5_ib_modify_qp()
3913 MLX5_SET(qpc, qpc, retry_count, attr->retry_cnt); in __mlx5_ib_modify_qp()
3916 MLX5_SET(qpc, qpc, log_sra_max, ilog2(attr->max_rd_atomic)); in __mlx5_ib_modify_qp()
3919 MLX5_SET(qpc, qpc, next_send_psn, attr->sq_psn); in __mlx5_ib_modify_qp()
3922 MLX5_SET(qpc, qpc, log_rra_max, in __mlx5_ib_modify_qp()
3926 err = set_qpc_atomic_flags(qp, attr, attr_mask, qpc); in __mlx5_ib_modify_qp()
3932 MLX5_SET(qpc, qpc, min_rnr_nak, attr->min_rnr_timer); in __mlx5_ib_modify_qp()
3935 MLX5_SET(qpc, qpc, next_rcv_psn, attr->rq_psn); in __mlx5_ib_modify_qp()
3938 MLX5_SET(qpc, qpc, q_key, attr->qkey); in __mlx5_ib_modify_qp()
3941 MLX5_SET64(qpc, qpc, dbr_addr, qp->db.dma); in __mlx5_ib_modify_qp()
3955 MLX5_SET(qpc, qpc, counter_set_id, set_id); in __mlx5_ib_modify_qp()
3959 MLX5_SET(qpc, qpc, rlky, 1); in __mlx5_ib_modify_qp()
3962 MLX5_SET(qpc, qpc, deth_sqpn, 1); in __mlx5_ib_modify_qp()
4027 err = mlx5_core_qp_modify(dev, op, optpar, qpc, &base->mqp, in __mlx5_ib_modify_qp()
4075 kfree(qpc); in __mlx5_ib_modify_qp()
4585 void *qpc, *pri_path, *alt_path; in query_qp_attr() local
4597 qpc = MLX5_ADDR_OF(query_qp_out, outb, qpc); in query_qp_attr()
4599 qp->state = to_ib_qp_state(MLX5_GET(qpc, qpc, state)); in query_qp_attr()
4600 if (MLX5_GET(qpc, qpc, state) == MLX5_QP_STATE_SQ_DRAINING) in query_qp_attr()
4603 qp_attr->path_mtu = MLX5_GET(qpc, qpc, mtu); in query_qp_attr()
4604 qp_attr->path_mig_state = to_ib_mig_state(MLX5_GET(qpc, qpc, pm_state)); in query_qp_attr()
4605 qp_attr->qkey = MLX5_GET(qpc, qpc, q_key); in query_qp_attr()
4606 qp_attr->rq_psn = MLX5_GET(qpc, qpc, next_rcv_psn); in query_qp_attr()
4607 qp_attr->sq_psn = MLX5_GET(qpc, qpc, next_send_psn); in query_qp_attr()
4608 qp_attr->dest_qp_num = MLX5_GET(qpc, qpc, remote_qpn); in query_qp_attr()
4610 if (MLX5_GET(qpc, qpc, rre)) in query_qp_attr()
4612 if (MLX5_GET(qpc, qpc, rwe)) in query_qp_attr()
4614 if (MLX5_GET(qpc, qpc, rae)) in query_qp_attr()
4617 qp_attr->max_rd_atomic = 1 << MLX5_GET(qpc, qpc, log_sra_max); in query_qp_attr()
4618 qp_attr->max_dest_rd_atomic = 1 << MLX5_GET(qpc, qpc, log_rra_max); in query_qp_attr()
4619 qp_attr->min_rnr_timer = MLX5_GET(qpc, qpc, min_rnr_nak); in query_qp_attr()
4620 qp_attr->retry_cnt = MLX5_GET(qpc, qpc, retry_count); in query_qp_attr()
4621 qp_attr->rnr_retry = MLX5_GET(qpc, qpc, rnr_retry); in query_qp_attr()
4623 pri_path = MLX5_ADDR_OF(qpc, qpc, primary_address_path); in query_qp_attr()
4624 alt_path = MLX5_ADDR_OF(qpc, qpc, secondary_address_path); in query_qp_attr()