dr_qp             113 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	struct mlx5dr_qp *dr_qp;
dr_qp             119 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp = kzalloc(sizeof(*dr_qp), GFP_KERNEL);
dr_qp             120 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	if (!dr_qp)
dr_qp             126 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->rq.pc = 0;
dr_qp             127 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->rq.cc = 0;
dr_qp             128 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->rq.wqe_cnt = 4;
dr_qp             129 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->sq.pc = 0;
dr_qp             130 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->sq.cc = 0;
dr_qp             131 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->sq.wqe_cnt = roundup_pow_of_two(attr->max_send_wr);
dr_qp             134 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(qpc, temp_qpc, log_rq_size, ilog2(dr_qp->rq.wqe_cnt));
dr_qp             135 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(qpc, temp_qpc, log_sq_size, ilog2(dr_qp->sq.wqe_cnt));
dr_qp             136 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	err = mlx5_wq_qp_create(mdev, &wqp, temp_qpc, &dr_qp->wq,
dr_qp             137 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				&dr_qp->wq_ctrl);
dr_qp             143 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->sq.wqe_head = kcalloc(dr_qp->sq.wqe_cnt,
dr_qp             144 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				     sizeof(dr_qp->sq.wqe_head[0]),
dr_qp             147 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	if (!dr_qp->sq.wqe_head) {
dr_qp             154 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 		dr_qp->wq_ctrl.buf.npages;
dr_qp             167 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 		 dr_qp->wq_ctrl.buf.page_shift - MLX5_ADAPTER_PAGE_SHIFT);
dr_qp             173 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(qpc, qpc, log_rq_size, ilog2(dr_qp->rq.wqe_cnt));
dr_qp             175 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(qpc, qpc, log_sq_size, ilog2(dr_qp->sq.wqe_cnt));
dr_qp             176 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET64(qpc, qpc, dbr_addr, dr_qp->wq_ctrl.db.dma);
dr_qp             179 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	mlx5_fill_page_frag_array(&dr_qp->wq_ctrl.buf,
dr_qp             183 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	err = mlx5_core_create_qp(mdev, &dr_qp->mqp, in, inlen);
dr_qp             190 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->mqp.event = dr_qp_event;
dr_qp             191 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->uar = attr->uar;
dr_qp             193 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	return dr_qp;
dr_qp             196 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	kfree(dr_qp->sq.wqe_head);
dr_qp             198 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	mlx5_wq_destroy(&dr_qp->wq_ctrl);
dr_qp             200 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	kfree(dr_qp);
dr_qp             205 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 			  struct mlx5dr_qp *dr_qp)
dr_qp             207 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	mlx5_core_destroy_qp(mdev, &dr_qp->mqp);
dr_qp             208 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	kfree(dr_qp->sq.wqe_head);
dr_qp             209 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	mlx5_wq_destroy(&dr_qp->wq_ctrl);
dr_qp             210 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	kfree(dr_qp);
dr_qp             213 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c static void dr_cmd_notify_hw(struct mlx5dr_qp *dr_qp, void *ctrl)
dr_qp             216 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	*dr_qp->wq.sq.db = cpu_to_be32(dr_qp->sq.pc & 0xfffff);
dr_qp             221 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	mlx5_write64(ctrl, dr_qp->uar->map + MLX5_BF_OFFSET);
dr_qp             224 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c static void dr_rdma_segments(struct mlx5dr_qp *dr_qp, u64 remote_addr,
dr_qp             237 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	idx = dr_qp->sq.pc & (dr_qp->sq.wqe_cnt - 1);
dr_qp             239 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	wq_ctrl = mlx5_wq_cyc_get_wqe(&dr_qp->wq.sq, idx);
dr_qp             243 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	wq_ctrl->opmod_idx_opcode = cpu_to_be32(((dr_qp->sq.pc & 0xffff) << 8) |
dr_qp             245 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	wq_ctrl->qpn_ds = cpu_to_be32(size | dr_qp->mqp.qpn << 8);
dr_qp             256 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_qp->sq.wqe_head[idx] = dr_qp->sq.pc++;
dr_qp             259 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 		dr_cmd_notify_hw(dr_qp, wq_ctrl);
dr_qp             262 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c static void dr_post_send(struct mlx5dr_qp *dr_qp, struct postsend_info *send_info)
dr_qp             264 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_rdma_segments(dr_qp, send_info->remote_addr, send_info->rkey,
dr_qp             266 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	dr_rdma_segments(dr_qp, send_info->remote_addr, send_info->rkey,
dr_qp             575 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				 struct mlx5dr_qp *dr_qp,
dr_qp             589 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				   &dr_qp->mqp);
dr_qp             593 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				    struct mlx5dr_qp *dr_qp,
dr_qp             601 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(rtr2rts_qp_in, in, qpn, dr_qp->mqp.qpn);
dr_qp             608 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				   &dr_qp->mqp);
dr_qp             612 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				     struct mlx5dr_qp *dr_qp,
dr_qp             620 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	MLX5_SET(init2rtr_qp_in, in, qpn, dr_qp->mqp.qpn);
dr_qp             640 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 				   &dr_qp->mqp);
dr_qp             645 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	struct mlx5dr_qp *dr_qp = dmn->send_ring->qp;
dr_qp             654 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	ret = dr_modify_qp_rst2init(dmn->mdev, dr_qp, port);
dr_qp             664 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	rtr_attr.qp_num		= dr_qp->mqp.qpn;
dr_qp             670 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	ret = dr_cmd_modify_qp_init2rtr(dmn->mdev, dr_qp, &rtr_attr);
dr_qp             679 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c 	ret = dr_cmd_modify_qp_rtr2rts(dmn->mdev, dr_qp, &rts_attr);