hr_qp             698 drivers/infiniband/hw/hns/hns_roce_device.h 	struct hns_roce_qp	hr_qp;
hr_qp             968 drivers/infiniband/hw/hns/hns_roce_device.h 			 struct hns_roce_qp *hr_qp);
hr_qp            1094 drivers/infiniband/hw/hns/hns_roce_device.h static inline struct hns_roce_sqp *hr_to_hr_sqp(struct hns_roce_qp *hr_qp)
hr_qp            1096 drivers/infiniband/hw/hns/hns_roce_device.h 	return container_of(hr_qp, struct hns_roce_sqp, hr_qp);
hr_qp            1242 drivers/infiniband/hw/hns/hns_roce_device.h void *get_recv_wqe(struct hns_roce_qp *hr_qp, int n);
hr_qp            1243 drivers/infiniband/hw/hns/hns_roce_device.h void *get_send_wqe(struct hns_roce_qp *hr_qp, int n);
hr_qp            1244 drivers/infiniband/hw/hns/hns_roce_device.h void *get_send_extend_sge(struct hns_roce_qp *hr_qp, int n);
hr_qp            1252 drivers/infiniband/hw/hns/hns_roce_device.h void hns_roce_qp_remove(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp);
hr_qp            1253 drivers/infiniband/hw/hns/hns_roce_device.h void hns_roce_qp_free(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp);
hr_qp             351 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp             363 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	spin_lock_irqsave(&hr_qp->rq.lock, flags);
hr_qp             366 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (hns_roce_wq_overflow(&hr_qp->rq, nreq,
hr_qp             367 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			hr_qp->ibqp.recv_cq)) {
hr_qp             373 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		wqe_idx = (hr_qp->rq.head + nreq) & (hr_qp->rq.wqe_cnt - 1);
hr_qp             375 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (unlikely(wr->num_sge > hr_qp->rq.max_gs)) {
hr_qp             377 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				wr->num_sge, hr_qp->rq.max_gs);
hr_qp             383 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ctrl = get_recv_wqe(hr_qp, wqe_idx);
hr_qp             395 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.wrid[wqe_idx] = wr->wr_id;
hr_qp             400 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.head += nreq;
hr_qp             410 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 					    QP1C_CFGN_OFFSET * hr_qp->phy_port);
hr_qp             415 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       hr_qp->rq.head);
hr_qp             419 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				   QP1C_CFGN_OFFSET * hr_qp->phy_port, reg_val);
hr_qp             426 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       hr_qp->rq.head);
hr_qp             428 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       RQ_DOORBELL_U32_8_QPN_S, hr_qp->qpn);
hr_qp             437 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			hns_roce_write64_k(doorbell, hr_qp->rq.db_reg_l);
hr_qp             440 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	spin_unlock_irqrestore(&hr_qp->rq.lock, flags);
hr_qp             706 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp;
hr_qp             802 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp = free_mr->mr_free_qp[i];
hr_qp             804 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->port		= port;
hr_qp             805 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->phy_port		= phy_port;
hr_qp             806 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.qp_type	= IB_QPT_RC;
hr_qp             807 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.device	= &hr_dev->ib_dev;
hr_qp             808 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.uobject	= NULL;
hr_qp             809 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		atomic_set(&hr_qp->ibqp.usecnt, 0);
hr_qp             810 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.pd		= pd;
hr_qp             811 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.recv_cq	= cq;
hr_qp             812 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->ibqp.send_cq	= cq;
hr_qp             818 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		attr.dest_qp_num	= hr_qp->qpn;
hr_qp             831 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, &attr, attr_mask,
hr_qp             838 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, &attr, IB_QP_DEST_QPN,
hr_qp             845 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, &attr, attr_mask,
hr_qp             857 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp = free_mr->mr_free_qp[i];
hr_qp             858 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (hns_roce_v1_destroy_qp(&hr_qp->ibqp, NULL))
hr_qp             879 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp;
hr_qp             887 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp = free_mr->mr_free_qp[i];
hr_qp             888 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (!hr_qp)
hr_qp             891 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ret = hns_roce_v1_destroy_qp(&hr_qp->ibqp, NULL);
hr_qp            1002 drivers/infiniband/hw/hns/hns_roce_hw_v1.c static int hns_roce_v1_send_lp_wqe(struct hns_roce_qp *hr_qp)
hr_qp            1004 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_dev *hr_dev = to_hr_dev(hr_qp->ibqp.device);
hr_qp            1018 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_v1_post_send(&hr_qp->ibqp, &send_wr, &bad_wr);
hr_qp            1036 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp;
hr_qp            1054 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp = free_mr->mr_free_qp[i];
hr_qp            1055 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (!hr_qp)
hr_qp            1059 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		ret = hns_roce_v1_send_lp_wqe(hr_qp);
hr_qp            1063 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			     hr_qp->qpn, ret);
hr_qp            1075 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (ret < 0 && hr_qp) {
hr_qp            1078 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			   hr_qp->qpn, ret, hr_mr->key, ne);
hr_qp            2194 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp;
hr_qp            2225 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp = __hns_roce_qp_lookup(hr_dev, qpn);
hr_qp            2226 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		if (unlikely(!hr_qp)) {
hr_qp            2232 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		*cur_qp = hr_qp;
hr_qp            2491 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				 struct hns_roce_qp *hr_qp)
hr_qp            2545 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		return hns_roce_cmd_mbox(hr_dev, 0, 0, hr_qp->qpn, 2,
hr_qp            2550 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		return hns_roce_cmd_mbox(hr_dev, 0, 0, hr_qp->qpn, 2,
hr_qp            2560 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_cmd_mbox(hr_dev, mailbox->dma, 0, hr_qp->qpn, 0,
hr_qp            2573 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            2589 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				   hr_qp->mtt.first_seg, &dma_handle);
hr_qp            2599 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->sq.wqe_cnt));
hr_qp            2603 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->rq.wqe_cnt));
hr_qp            2614 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       QP1C_BYTES_16_RQ_HEAD_S, hr_qp->rq.head);
hr_qp            2616 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       QP1C_BYTES_16_PORT_NUM_S, hr_qp->phy_port);
hr_qp            2619 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			     hr_qp->sq_signal_bits);
hr_qp            2628 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       QP1C_BYTES_20_SQ_HEAD_S, hr_qp->sq.head);
hr_qp            2632 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		rq_pa_start = (u32)hr_qp->rq.offset / PAGE_SIZE;
hr_qp            2666 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       hr_qp->phy_port * sizeof(*context));
hr_qp            2682 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			    hr_qp->phy_port * sizeof(*context));
hr_qp            2688 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		    hr_qp->phy_port * sizeof(*context), reg_val);
hr_qp            2690 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hr_qp->state = new_state;
hr_qp            2692 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hns_roce_v1_cq_clean(to_hr_cq(ibqp->recv_cq), hr_qp->qpn,
hr_qp            2696 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 					     hr_qp->qpn, NULL);
hr_qp            2698 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.head = 0;
hr_qp            2699 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.tail = 0;
hr_qp            2700 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sq.head = 0;
hr_qp            2701 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sq.tail = 0;
hr_qp            2717 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            2739 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				   hr_qp->mtt.first_seg, &dma_handle);
hr_qp            2747 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				     hr_qp->qpn, &dma_handle_2);
hr_qp            2763 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       to_hr_qp_type(hr_qp->ibqp.qp_type));
hr_qp            2783 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->sq.wqe_cnt));
hr_qp            2787 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->rq.wqe_cnt));
hr_qp            2792 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->access_flags = attr->qp_access_flags;
hr_qp            2812 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->pkey_index = attr->pkey_index;
hr_qp            2815 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       QP_CONTEXT_QPC_BYTES_16_QP_NUM_S, hr_qp->qpn);
hr_qp            2821 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       to_hr_qp_type(hr_qp->ibqp.qp_type));
hr_qp            2836 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				     !!(hr_qp->access_flags &
hr_qp            2840 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				     !!(hr_qp->access_flags &
hr_qp            2849 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->sq.wqe_cnt));
hr_qp            2853 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       ilog2((unsigned int)hr_qp->rq.wqe_cnt));
hr_qp            2882 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       hr_qp->pkey_index);
hr_qp            2886 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       QP_CONTEXT_QPC_BYTES_16_QP_NUM_S, hr_qp->qpn);
hr_qp            2924 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			     hr_qp->sq_signal_bits);
hr_qp            2927 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			hr_qp->port;
hr_qp            2996 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       hr_qp->rq.head);
hr_qp            3001 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		rq_pa_start = (u32)hr_qp->rq.offset / PAGE_SIZE;
hr_qp            3064 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       hr_qp->phy_port);
hr_qp            3069 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sl = rdma_ah_get_sl(&attr->ah_attr);
hr_qp            3177 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       hr_qp->phy_port);
hr_qp            3182 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sl = rdma_ah_get_sl(&attr->ah_attr);
hr_qp            3261 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_v1_qp_modify(hr_dev, &hr_qp->mtt,
hr_qp            3264 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				    hr_qp);
hr_qp            3279 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       RQ_DOORBELL_U32_4_RQ_HEAD_S, hr_qp->rq.head);
hr_qp            3281 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			       RQ_DOORBELL_U32_8_QPN_S, hr_qp->qpn);
hr_qp            3287 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			hr_qp->rq.db_reg_l = hr_dev->reg_base +
hr_qp            3292 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hns_roce_write64_k(doorbell, hr_qp->rq.db_reg_l);
hr_qp            3295 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hr_qp->state = new_state;
hr_qp            3298 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->resp_depth = attr->max_dest_rd_atomic;
hr_qp            3300 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->port = attr->port_num - 1;
hr_qp            3301 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->phy_port = hr_dev->iboe.phy_port[hr_qp->port];
hr_qp            3305 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hns_roce_v1_cq_clean(to_hr_cq(ibqp->recv_cq), hr_qp->qpn,
hr_qp            3309 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 					     hr_qp->qpn, NULL);
hr_qp            3311 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.head = 0;
hr_qp            3312 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->rq.tail = 0;
hr_qp            3313 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sq.head = 0;
hr_qp            3314 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->sq.tail = 0;
hr_qp            3356 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				 struct hns_roce_qp *hr_qp,
hr_qp            3366 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_cmd_mbox(hr_dev, 0, mailbox->dma, hr_qp->qpn, 0,
hr_qp            3384 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3388 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	mutex_lock(&hr_qp->mutex);
hr_qp            3390 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->state == IB_QPS_RESET) {
hr_qp            3396 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hr_qp->port * sizeof(struct hns_roce_sqp_context);
hr_qp            3408 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hr_qp->state = roce_get_field(context.qp1c_bytes_4,
hr_qp            3411 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->qp_state	= hr_qp->state;
hr_qp            3424 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->port_num = hr_qp->port + 1;
hr_qp            3436 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_recv_wr = hr_qp->rq.wqe_cnt;
hr_qp            3437 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_recv_sge = hr_qp->rq.max_gs;
hr_qp            3438 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_send_wr = hr_qp->sq.wqe_cnt;
hr_qp            3439 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_send_sge = hr_qp->sq.max_gs;
hr_qp            3444 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	mutex_unlock(&hr_qp->mutex);
hr_qp            3454 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3468 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	mutex_lock(&hr_qp->mutex);
hr_qp            3470 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->state == IB_QPS_RESET) {
hr_qp            3475 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_v1_query_qpc(hr_dev, hr_qp, context);
hr_qp            3491 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hr_qp->state = (u8)tmp_qp_state;
hr_qp            3492 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->qp_state = (enum ib_qp_state)hr_qp->state;
hr_qp            3498 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->ibqp.qp_type == IB_QPT_UD)
hr_qp            3517 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->ibqp.qp_type == IB_QPT_RC ||
hr_qp            3518 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	    hr_qp->ibqp.qp_type == IB_QPT_UC) {
hr_qp            3551 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->port_num = hr_qp->port + 1;
hr_qp            3572 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_recv_wr = hr_qp->rq.wqe_cnt;
hr_qp            3573 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	qp_attr->cap.max_recv_sge = hr_qp->rq.max_gs;
hr_qp            3576 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		qp_attr->cap.max_send_wr = hr_qp->sq.wqe_cnt;
hr_qp            3577 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		qp_attr->cap.max_send_sge = hr_qp->sq.max_gs;
hr_qp            3586 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	mutex_unlock(&hr_qp->mutex);
hr_qp            3595 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3597 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	return hr_qp->doorbell_qpn <= 1 ?
hr_qp            3605 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3609 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ret = hns_roce_v1_modify_qp(ibqp, NULL, 0, hr_qp->state, IB_QPS_RESET);
hr_qp            3613 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	send_cq = to_hr_cq(hr_qp->ibqp.send_cq);
hr_qp            3614 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	recv_cq = to_hr_cq(hr_qp->ibqp.recv_cq);
hr_qp            3618 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		__hns_roce_v1_cq_clean(recv_cq, hr_qp->qpn, hr_qp->ibqp.srq ?
hr_qp            3619 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 				       to_hr_srq(hr_qp->ibqp.srq) : NULL);
hr_qp            3621 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 			__hns_roce_v1_cq_clean(send_cq, hr_qp->qpn, NULL);
hr_qp            3625 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hns_roce_qp_remove(hr_dev, hr_qp);
hr_qp            3626 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hns_roce_qp_free(hr_dev, hr_qp);
hr_qp            3629 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->ibqp.qp_type == IB_QPT_RC)
hr_qp            3630 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hns_roce_release_range_qp(hr_dev, hr_qp->qpn, 1);
hr_qp            3632 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	hns_roce_mtt_cleanup(hr_dev, &hr_qp->mtt);
hr_qp            3634 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	ib_umem_release(hr_qp->umem);
hr_qp            3636 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		kfree(hr_qp->sq.wrid);
hr_qp            3637 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		kfree(hr_qp->rq.wrid);
hr_qp            3639 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		hns_roce_buf_free(hr_dev, hr_qp->buff_size, &hr_qp->hr_buf);
hr_qp            3642 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 	if (hr_qp->ibqp.qp_type == IB_QPT_RC)
hr_qp            3643 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		kfree(hr_qp);
hr_qp            3645 drivers/infiniband/hw/hns/hns_roce_hw_v1.c 		kfree(hr_to_hr_sqp(hr_qp));
hr_qp             622 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp             635 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	spin_lock_irqsave(&hr_qp->rq.lock, flags);
hr_qp             637 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->state == IB_QPS_RESET) {
hr_qp             638 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		spin_unlock_irqrestore(&hr_qp->rq.lock, flags);
hr_qp             644 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hns_roce_wq_overflow(&hr_qp->rq, nreq,
hr_qp             645 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hr_qp->ibqp.recv_cq)) {
hr_qp             651 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		wqe_idx = (hr_qp->rq.head + nreq) & (hr_qp->rq.wqe_cnt - 1);
hr_qp             653 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (unlikely(wr->num_sge > hr_qp->rq.max_gs)) {
hr_qp             655 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				wr->num_sge, hr_qp->rq.max_gs);
hr_qp             661 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		wqe = get_recv_wqe(hr_qp, wqe_idx);
hr_qp             670 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (i < hr_qp->rq.max_gs) {
hr_qp             677 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			sge_list = hr_qp->rq_inl_buf.wqe_list[wqe_idx].sg_list;
hr_qp             678 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hr_qp->rq_inl_buf.wqe_list[wqe_idx].sge_cnt =
hr_qp             687 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->rq.wrid[wqe_idx] = wr->wr_id;
hr_qp             692 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->rq.head += nreq;
hr_qp             696 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		*hr_qp->rdb.db_record = hr_qp->rq.head & 0xffff;
hr_qp             698 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->state == IB_QPS_ERR) {
hr_qp             702 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			ret = hns_roce_v2_modify_qp(&hr_qp->ibqp, &attr,
hr_qp             703 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 						    attr_mask, hr_qp->state,
hr_qp             706 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				spin_unlock_irqrestore(&hr_qp->rq.lock, flags);
hr_qp             712 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	spin_unlock_irqrestore(&hr_qp->rq.lock, flags);
hr_qp            2700 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp;
hr_qp            2728 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp = __hns_roce_qp_lookup(hr_dev, qpn);
hr_qp            2729 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (unlikely(!hr_qp)) {
hr_qp            2734 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		*cur_qp = hr_qp;
hr_qp            3169 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				 struct hns_roce_qp *hr_qp)
hr_qp            3180 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_cmd_mbox(hr_dev, mailbox->dma, 0, hr_qp->qpn, 0,
hr_qp            3189 drivers/infiniband/hw/hns/hns_roce_hw_v2.c static void set_access_flags(struct hns_roce_qp *hr_qp,
hr_qp            3198 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			 attr->max_dest_rd_atomic : hr_qp->resp_depth;
hr_qp            3201 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       attr->qp_access_flags : hr_qp->atomic_rd_en;
hr_qp            3219 drivers/infiniband/hw/hns/hns_roce_hw_v2.c static void set_qpc_wqe_cnt(struct hns_roce_qp *hr_qp,
hr_qp            3223 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.qp_type == IB_QPT_GSI)
hr_qp            3227 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       ilog2((unsigned int)hr_qp->sge.sge_cnt));
hr_qp            3232 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       hr_qp->sq.max_gs >
hr_qp            3234 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       ilog2((unsigned int)hr_qp->sge.sge_cnt) : 0);
hr_qp            3241 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       ilog2((unsigned int)hr_qp->sq.wqe_cnt));
hr_qp            3247 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       (hr_qp->ibqp.qp_type == IB_QPT_XRC_INI ||
hr_qp            3248 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       hr_qp->ibqp.qp_type == IB_QPT_XRC_TGT ||
hr_qp            3249 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       hr_qp->ibqp.srq) ? 0 :
hr_qp            3250 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       ilog2((unsigned int)hr_qp->rq.wqe_cnt));
hr_qp            3263 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3272 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_4_TST_S, to_hr_qp_type(hr_qp->ibqp.qp_type));
hr_qp            3277 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_4_SQPN_S, hr_qp->qpn);
hr_qp            3287 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_20_RQWS_S, ilog2(hr_qp->rq.max_gs));
hr_qp            3291 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	set_qpc_wqe_cnt(hr_qp, context, qpc_mask);
hr_qp            3322 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->rdb_en) {
hr_qp            3332 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       ((u32)hr_qp->rdb.dma) >> 1);
hr_qp            3336 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	context->rq_db_record_addr = cpu_to_le32(hr_qp->rdb.dma >> 32);
hr_qp            3532 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hr_qp->access_flags = attr->qp_access_flags;
hr_qp            3554 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3563 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_4_TST_S, to_hr_qp_type(hr_qp->ibqp.qp_type));
hr_qp            3586 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			     !!(hr_qp->access_flags & IB_ACCESS_REMOTE_READ));
hr_qp            3591 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			     !!(hr_qp->access_flags & IB_ACCESS_REMOTE_WRITE));
hr_qp            3596 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			     !!(hr_qp->access_flags & IB_ACCESS_REMOTE_ATOMIC));
hr_qp            3629 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_4_SQPN_S, hr_qp->qpn);
hr_qp            3635 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       V2_QPC_BYTE_56_DQPN_S, hr_qp->qpn);
hr_qp            3642 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				   struct hns_roce_qp *hr_qp, int mtt_cnt,
hr_qp            3647 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->rq.wqe_cnt < 1)
hr_qp            3652 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hr_qp->qpn);
hr_qp            3657 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		(hr_qp->rq.offset + page_size) < hr_qp->buff_size) {
hr_qp            3659 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hr_qp->qpn);
hr_qp            3673 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3690 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	count = hns_roce_mtr_find(hr_dev, &hr_qp->mtr,
hr_qp            3691 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				  hr_qp->rq.offset / page_size, mtts,
hr_qp            3694 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (!check_wqe_rq_mtt_count(hr_dev, hr_qp, count, page_size))
hr_qp            3699 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				     hr_qp->qpn, &dma_handle_2);
hr_qp            3707 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				     hr_qp->qpn, &dma_handle_3);
hr_qp            3744 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       hr_qp->sq.max_gs > HNS_ROCE_V2_UC_RC_SGE_NUM_IN_WQE) ?
hr_qp            3762 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       hr_qp->wqe_bt_pg_shift + PG_SHIFT_OFFSET);
hr_qp            3821 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		     hr_qp->sq_signal_bits);
hr_qp            3825 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	port = (attr_mask & IB_QP_PORT) ? (attr->port_num - 1) : hr_qp->port;
hr_qp            3877 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       V2_QPC_BYTE_84_RQ_PRODUCER_IDX_S, hr_qp->rq.head);
hr_qp            3918 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            3926 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	count = hns_roce_mtr_find(hr_dev, &hr_qp->mtr, 0, &sq_cur_blk, 1, NULL);
hr_qp            3928 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		dev_err(dev, "qp(0x%lx) buf pa find failed\n", hr_qp->qpn);
hr_qp            3932 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->sge.offset) {
hr_qp            3934 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		count = hns_roce_mtr_find(hr_dev, &hr_qp->mtr,
hr_qp            3935 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 					  hr_qp->sge.offset / page_size,
hr_qp            3939 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				hr_qp->qpn);
hr_qp            3968 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       hr_qp->sq.max_gs > HNS_ROCE_V2_UC_RC_SGE_NUM_IN_WQE) ?
hr_qp            3974 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		       ((ibqp->qp_type == IB_QPT_GSI) || hr_qp->sq.max_gs >
hr_qp            4064 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4073 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ib_port = (attr_mask & IB_QP_PORT) ? attr->port_num : hr_qp->port + 1;
hr_qp            4153 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hr_qp->sl = rdma_ah_get_sl(&attr->ah_attr);
hr_qp            4206 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4330 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		set_access_flags(hr_qp, context, qpc_mask, attr, attr_mask);
hr_qp            4361 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->qkey = attr->qkey;
hr_qp            4372 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4375 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->atomic_rd_en = attr->qp_access_flags;
hr_qp            4378 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->resp_depth = attr->max_dest_rd_atomic;
hr_qp            4380 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->port = attr->port_num - 1;
hr_qp            4381 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->phy_port = hr_dev->iboe.phy_port[hr_qp->port];
hr_qp            4391 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4416 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       hr_qp->sq.head);
hr_qp            4425 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			       hr_qp->rq.head);
hr_qp            4450 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_v2_qp_modify(hr_dev, cur_state, new_state, ctx, hr_qp);
hr_qp            4456 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hr_qp->state = new_state;
hr_qp            4461 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hns_roce_v2_cq_clean(to_hr_cq(ibqp->recv_cq), hr_qp->qpn,
hr_qp            4465 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 					     hr_qp->qpn, NULL);
hr_qp            4467 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->rq.head = 0;
hr_qp            4468 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->rq.tail = 0;
hr_qp            4469 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->sq.head = 0;
hr_qp            4470 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->sq.tail = 0;
hr_qp            4471 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hr_qp->next_sge = 0;
hr_qp            4472 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->rq.wqe_cnt)
hr_qp            4473 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			*hr_qp->rdb.db_record = 0;
hr_qp            4496 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				 struct hns_roce_qp *hr_qp,
hr_qp            4506 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_cmd_mbox(hr_dev, 0, mailbox->dma, hr_qp->qpn, 0,
hr_qp            4526 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4536 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	mutex_lock(&hr_qp->mutex);
hr_qp            4538 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->state == IB_QPS_RESET) {
hr_qp            4544 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_v2_query_qpc(hr_dev, hr_qp, &context);
hr_qp            4559 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hr_qp->state = (u8)tmp_qp_state;
hr_qp            4560 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	qp_attr->qp_state = (enum ib_qp_state)hr_qp->state;
hr_qp            4566 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.qp_type == IB_QPT_UD)
hr_qp            4585 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.qp_type == IB_QPT_RC ||
hr_qp            4586 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	    hr_qp->ibqp.qp_type == IB_QPT_UC) {
hr_qp            4610 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	qp_attr->port_num = hr_qp->port + 1;
hr_qp            4631 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	qp_attr->cap.max_recv_wr = hr_qp->rq.wqe_cnt;
hr_qp            4632 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	qp_attr->cap.max_recv_sge = hr_qp->rq.max_gs;
hr_qp            4635 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		qp_attr->cap.max_send_wr = hr_qp->sq.wqe_cnt;
hr_qp            4636 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		qp_attr->cap.max_send_sge = hr_qp->sq.max_gs;
hr_qp            4645 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	mutex_unlock(&hr_qp->mutex);
hr_qp            4650 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 					 struct hns_roce_qp *hr_qp,
hr_qp            4657 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.qp_type == IB_QPT_RC && hr_qp->state != IB_QPS_RESET) {
hr_qp            4659 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		ret = hns_roce_v2_modify_qp(&hr_qp->ibqp, NULL, 0,
hr_qp            4660 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 					    hr_qp->state, IB_QPS_RESET);
hr_qp            4665 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	send_cq = to_hr_cq(hr_qp->ibqp.send_cq);
hr_qp            4666 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	recv_cq = to_hr_cq(hr_qp->ibqp.recv_cq);
hr_qp            4671 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		__hns_roce_v2_cq_clean(recv_cq, hr_qp->qpn, hr_qp->ibqp.srq ?
hr_qp            4672 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				       to_hr_srq(hr_qp->ibqp.srq) : NULL);
hr_qp            4674 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			__hns_roce_v2_cq_clean(send_cq, hr_qp->qpn, NULL);
hr_qp            4677 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hns_roce_qp_remove(hr_dev, hr_qp);
hr_qp            4681 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hns_roce_qp_free(hr_dev, hr_qp);
hr_qp            4684 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if ((hr_qp->ibqp.qp_type == IB_QPT_RC) ||
hr_qp            4685 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	    (hr_qp->ibqp.qp_type == IB_QPT_UC) ||
hr_qp            4686 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	    (hr_qp->ibqp.qp_type == IB_QPT_UD))
hr_qp            4687 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hns_roce_release_range_qp(hr_dev, hr_qp->qpn, 1);
hr_qp            4689 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hns_roce_mtr_cleanup(hr_dev, &hr_qp->mtr);
hr_qp            4698 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->sq.wqe_cnt && (hr_qp->sdb_en == 1))
hr_qp            4699 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hns_roce_db_unmap_user(context, &hr_qp->sdb);
hr_qp            4701 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->rq.wqe_cnt && (hr_qp->rdb_en == 1))
hr_qp            4702 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hns_roce_db_unmap_user(context, &hr_qp->rdb);
hr_qp            4704 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_qp->sq.wrid);
hr_qp            4705 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_qp->rq.wrid);
hr_qp            4706 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		hns_roce_buf_free(hr_dev, hr_qp->buff_size, &hr_qp->hr_buf);
hr_qp            4707 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->rq.wqe_cnt)
hr_qp            4708 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hns_roce_free_db(hr_dev, &hr_qp->rdb);
hr_qp            4710 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ib_umem_release(hr_qp->umem);
hr_qp            4713 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	     hr_qp->rq.wqe_cnt) {
hr_qp            4714 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_qp->rq_inl_buf.wqe_list[0].sg_list);
hr_qp            4715 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_qp->rq_inl_buf.wqe_list);
hr_qp            4724 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            4727 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_v2_destroy_qp_common(hr_dev, hr_qp, udata);
hr_qp            4730 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			  hr_qp->qpn, ret);
hr_qp            4732 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.qp_type == IB_QPT_GSI)
hr_qp            4733 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_to_hr_sqp(hr_qp));
hr_qp            4735 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		kfree(hr_qp);
hr_qp            4741 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 						struct hns_roce_qp *hr_qp)
hr_qp            4761 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	clr->qpn = cpu_to_le32(hr_qp->qpn);
hr_qp            4836 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	struct hns_roce_qp *hr_qp;
hr_qp            4841 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	hr_qp = __hns_roce_qp_lookup(hr_dev, qpn);
hr_qp            4842 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (!hr_qp) {
hr_qp            4847 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	if (hr_qp->ibqp.uobject) {
hr_qp            4848 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 		if (hr_qp->sdb_en == 1) {
hr_qp            4849 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
hr_qp            4850 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 			if (hr_qp->rdb_en == 1)
hr_qp            4851 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr);
hr_qp            4860 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 	ret = hns_roce_v2_modify_qp(&hr_qp->ibqp, &attr, attr_mask,
hr_qp            4861 drivers/infiniband/hw/hns/hns_roce_hw_v2.c 				    hr_qp->state, IB_QPS_ERR);
hr_qp              68 drivers/infiniband/hw/hns/hns_roce_qp.c static void hns_roce_ib_qp_event(struct hns_roce_qp *hr_qp,
hr_qp              72 drivers/infiniband/hw/hns/hns_roce_qp.c 	struct ib_qp *ibqp = &hr_qp->ibqp;
hr_qp             104 drivers/infiniband/hw/hns/hns_roce_qp.c 				type, hr_qp->qpn);
hr_qp             143 drivers/infiniband/hw/hns/hns_roce_qp.c 				 struct hns_roce_qp *hr_qp)
hr_qp             151 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->qpn = qpn;
hr_qp             152 drivers/infiniband/hw/hns/hns_roce_qp.c 	atomic_set(&hr_qp->refcount, 1);
hr_qp             153 drivers/infiniband/hw/hns/hns_roce_qp.c 	init_completion(&hr_qp->free);
hr_qp             155 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = xa_err(xa_store_irq(xa, hr_qp->qpn & (hr_dev->caps.num_qps - 1),
hr_qp             156 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp, GFP_KERNEL));
hr_qp             164 drivers/infiniband/hw/hns/hns_roce_qp.c 			     struct hns_roce_qp *hr_qp)
hr_qp             173 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->qpn = qpn;
hr_qp             176 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = hns_roce_table_get(hr_dev, &qp_table->qp_table, hr_qp->qpn);
hr_qp             183 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = hns_roce_table_get(hr_dev, &qp_table->irrl_table, hr_qp->qpn);
hr_qp             192 drivers/infiniband/hw/hns/hns_roce_qp.c 					 hr_qp->qpn);
hr_qp             202 drivers/infiniband/hw/hns/hns_roce_qp.c 					 hr_qp->qpn);
hr_qp             209 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = hns_roce_gsi_qp_alloc(hr_dev, qpn, hr_qp);
hr_qp             218 drivers/infiniband/hw/hns/hns_roce_qp.c 				   hr_qp->qpn);
hr_qp             222 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_table_put(hr_dev, &qp_table->trrl_table, hr_qp->qpn);
hr_qp             225 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_table_put(hr_dev, &qp_table->irrl_table, hr_qp->qpn);
hr_qp             228 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_table_put(hr_dev, &qp_table->qp_table, hr_qp->qpn);
hr_qp             234 drivers/infiniband/hw/hns/hns_roce_qp.c void hns_roce_qp_remove(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp)
hr_qp             240 drivers/infiniband/hw/hns/hns_roce_qp.c 	__xa_erase(xa, hr_qp->qpn & (hr_dev->caps.num_qps - 1));
hr_qp             244 drivers/infiniband/hw/hns/hns_roce_qp.c void hns_roce_qp_free(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp)
hr_qp             248 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (atomic_dec_and_test(&hr_qp->refcount))
hr_qp             249 drivers/infiniband/hw/hns/hns_roce_qp.c 		complete(&hr_qp->free);
hr_qp             250 drivers/infiniband/hw/hns/hns_roce_qp.c 	wait_for_completion(&hr_qp->free);
hr_qp             252 drivers/infiniband/hw/hns/hns_roce_qp.c 	if ((hr_qp->ibqp.qp_type) != IB_QPT_GSI) {
hr_qp             255 drivers/infiniband/hw/hns/hns_roce_qp.c 					   hr_qp->qpn);
hr_qp             256 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_table_put(hr_dev, &qp_table->irrl_table, hr_qp->qpn);
hr_qp             273 drivers/infiniband/hw/hns/hns_roce_qp.c 				struct hns_roce_qp *hr_qp)
hr_qp             288 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.wqe_cnt = 0;
hr_qp             289 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.max_gs = 0;
hr_qp             303 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.wqe_cnt = roundup_pow_of_two(max_cnt);
hr_qp             305 drivers/infiniband/hw/hns/hns_roce_qp.c 		if ((u32)hr_qp->rq.wqe_cnt > hr_dev->caps.max_wqes) {
hr_qp             311 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.max_gs = roundup_pow_of_two(max_cnt);
hr_qp             313 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rq.wqe_shift =
hr_qp             316 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rq.wqe_shift =
hr_qp             318 drivers/infiniband/hw/hns/hns_roce_qp.c 					      * hr_qp->rq.max_gs);
hr_qp             321 drivers/infiniband/hw/hns/hns_roce_qp.c 	cap->max_recv_wr = hr_qp->rq.max_post = hr_qp->rq.wqe_cnt;
hr_qp             322 drivers/infiniband/hw/hns/hns_roce_qp.c 	cap->max_recv_sge = hr_qp->rq.max_gs;
hr_qp             352 drivers/infiniband/hw/hns/hns_roce_qp.c 				     struct hns_roce_qp *hr_qp,
hr_qp             360 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (check_shl_overflow(1, ucmd->log_sq_bb_count, &hr_qp->sq.wqe_cnt) ||
hr_qp             361 drivers/infiniband/hw/hns/hns_roce_qp.c 	    hr_qp->sq.wqe_cnt > hr_dev->caps.max_wqes)
hr_qp             370 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->sq.wqe_shift = ucmd->log_sq_stride;
hr_qp             374 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.max_gs = roundup_pow_of_two(max_cnt);
hr_qp             376 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.max_gs = max_cnt;
hr_qp             378 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_qp->sq.max_gs > 2)
hr_qp             379 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp->sq.wqe_cnt *
hr_qp             380 drivers/infiniband/hw/hns/hns_roce_qp.c 							(hr_qp->sq.max_gs - 2));
hr_qp             382 drivers/infiniband/hw/hns/hns_roce_qp.c 	if ((hr_qp->sq.max_gs > 2) && (hr_dev->pci_dev->revision == 0x20)) {
hr_qp             383 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hr_qp->sge.sge_cnt > hr_dev->caps.max_extend_sg) {
hr_qp             386 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp->sge.sge_cnt);
hr_qp             391 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->sge.sge_shift = 4;
hr_qp             392 drivers/infiniband/hw/hns/hns_roce_qp.c 	ex_sge_num = hr_qp->sge.sge_cnt;
hr_qp             396 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->buff_size = HNS_ROCE_ALOGN_UP((hr_qp->rq.wqe_cnt <<
hr_qp             397 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->rq.wqe_shift), PAGE_SIZE) +
hr_qp             398 drivers/infiniband/hw/hns/hns_roce_qp.c 				   HNS_ROCE_ALOGN_UP((hr_qp->sq.wqe_cnt <<
hr_qp             399 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->sq.wqe_shift), PAGE_SIZE);
hr_qp             401 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.offset = 0;
hr_qp             402 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.offset = HNS_ROCE_ALOGN_UP((hr_qp->sq.wqe_cnt <<
hr_qp             403 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->sq.wqe_shift), PAGE_SIZE);
hr_qp             406 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_cnt = ex_sge_num ?
hr_qp             407 drivers/infiniband/hw/hns/hns_roce_qp.c 		   max(page_size / (1 << hr_qp->sge.sge_shift), ex_sge_num) : 0;
hr_qp             408 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->buff_size = HNS_ROCE_ALOGN_UP((hr_qp->rq.wqe_cnt <<
hr_qp             409 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->rq.wqe_shift), page_size) +
hr_qp             410 drivers/infiniband/hw/hns/hns_roce_qp.c 				   HNS_ROCE_ALOGN_UP((hr_qp->sge.sge_cnt <<
hr_qp             411 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->sge.sge_shift), page_size) +
hr_qp             412 drivers/infiniband/hw/hns/hns_roce_qp.c 				   HNS_ROCE_ALOGN_UP((hr_qp->sq.wqe_cnt <<
hr_qp             413 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_qp->sq.wqe_shift), page_size);
hr_qp             415 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.offset = 0;
hr_qp             417 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->sge.offset = HNS_ROCE_ALOGN_UP(
hr_qp             418 drivers/infiniband/hw/hns/hns_roce_qp.c 							(hr_qp->sq.wqe_cnt <<
hr_qp             419 drivers/infiniband/hw/hns/hns_roce_qp.c 							hr_qp->sq.wqe_shift),
hr_qp             421 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rq.offset = hr_qp->sge.offset +
hr_qp             422 drivers/infiniband/hw/hns/hns_roce_qp.c 					HNS_ROCE_ALOGN_UP((hr_qp->sge.sge_cnt <<
hr_qp             423 drivers/infiniband/hw/hns/hns_roce_qp.c 						hr_qp->sge.sge_shift),
hr_qp             426 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rq.offset = HNS_ROCE_ALOGN_UP(
hr_qp             427 drivers/infiniband/hw/hns/hns_roce_qp.c 							(hr_qp->sq.wqe_cnt <<
hr_qp             428 drivers/infiniband/hw/hns/hns_roce_qp.c 							hr_qp->sq.wqe_shift),
hr_qp             437 drivers/infiniband/hw/hns/hns_roce_qp.c 				struct hns_roce_qp *hr_qp,
hr_qp             447 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_qp->buff_size < 1 || region_max < 1)
hr_qp             450 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_qp->sge.sge_cnt > 0)
hr_qp             457 drivers/infiniband/hw/hns/hns_roce_qp.c 		buf_size = hr_qp->sge.offset - hr_qp->sq.offset;
hr_qp             459 drivers/infiniband/hw/hns/hns_roce_qp.c 		buf_size = hr_qp->rq.offset - hr_qp->sq.offset;
hr_qp             465 drivers/infiniband/hw/hns/hns_roce_qp.c 					 hr_qp->sq.offset / page_size,
hr_qp             472 drivers/infiniband/hw/hns/hns_roce_qp.c 		buf_size = hr_qp->rq.offset - hr_qp->sge.offset;
hr_qp             477 drivers/infiniband/hw/hns/hns_roce_qp.c 						 hr_qp->sge.offset / page_size,
hr_qp             484 drivers/infiniband/hw/hns/hns_roce_qp.c 	buf_size = hr_qp->buff_size - hr_qp->rq.offset;
hr_qp             489 drivers/infiniband/hw/hns/hns_roce_qp.c 					 hr_qp->rq.offset / page_size,
hr_qp             522 drivers/infiniband/hw/hns/hns_roce_qp.c 				struct hns_roce_qp *hr_qp)
hr_qp             526 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_qp->sq.max_gs > 2) {
hr_qp             527 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp->sq.wqe_cnt *
hr_qp             528 drivers/infiniband/hw/hns/hns_roce_qp.c 				     (hr_qp->sq.max_gs - 2));
hr_qp             529 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_shift = 4;
hr_qp             533 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_dev->caps.max_sq_sg > 2 && hr_qp->ibqp.qp_type == IB_QPT_GSI) {
hr_qp             534 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_cnt = roundup_pow_of_two(hr_qp->sq.wqe_cnt *
hr_qp             535 drivers/infiniband/hw/hns/hns_roce_qp.c 				     hr_qp->sq.max_gs);
hr_qp             536 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_shift = 4;
hr_qp             539 drivers/infiniband/hw/hns/hns_roce_qp.c 	if ((hr_qp->sq.max_gs > 2) && hr_dev->pci_dev->revision == 0x20) {
hr_qp             540 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hr_qp->sge.sge_cnt > hr_dev->caps.max_extend_sg) {
hr_qp             542 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp->sge.sge_cnt);
hr_qp             552 drivers/infiniband/hw/hns/hns_roce_qp.c 				       struct hns_roce_qp *hr_qp)
hr_qp             567 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->sq.wqe_shift = ilog2(hr_dev->caps.max_sq_desc_sz);
hr_qp             574 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->sq.wqe_cnt = roundup_pow_of_two(max_cnt);
hr_qp             575 drivers/infiniband/hw/hns/hns_roce_qp.c 	if ((u32)hr_qp->sq.wqe_cnt > hr_dev->caps.max_wqes) {
hr_qp             583 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.max_gs = roundup_pow_of_two(max_cnt);
hr_qp             585 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.max_gs = max_cnt;
hr_qp             587 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = set_extend_sge_param(hr_dev, hr_qp);
hr_qp             595 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->sq.offset = 0;
hr_qp             596 drivers/infiniband/hw/hns/hns_roce_qp.c 	size = HNS_ROCE_ALOGN_UP(hr_qp->sq.wqe_cnt << hr_qp->sq.wqe_shift,
hr_qp             599 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (hr_dev->caps.max_sq_sg > 2 && hr_qp->sge.sge_cnt) {
hr_qp             600 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.sge_cnt = max(page_size/(1 << hr_qp->sge.sge_shift),
hr_qp             601 drivers/infiniband/hw/hns/hns_roce_qp.c 					(u32)hr_qp->sge.sge_cnt);
hr_qp             602 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sge.offset = size;
hr_qp             603 drivers/infiniband/hw/hns/hns_roce_qp.c 		size += HNS_ROCE_ALOGN_UP(hr_qp->sge.sge_cnt <<
hr_qp             604 drivers/infiniband/hw/hns/hns_roce_qp.c 					  hr_qp->sge.sge_shift, page_size);
hr_qp             607 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->rq.offset = size;
hr_qp             608 drivers/infiniband/hw/hns/hns_roce_qp.c 	size += HNS_ROCE_ALOGN_UP((hr_qp->rq.wqe_cnt << hr_qp->rq.wqe_shift),
hr_qp             610 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->buff_size = size;
hr_qp             613 drivers/infiniband/hw/hns/hns_roce_qp.c 	cap->max_send_wr = hr_qp->sq.max_post = hr_qp->sq.wqe_cnt;
hr_qp             614 drivers/infiniband/hw/hns/hns_roce_qp.c 	cap->max_send_sge = hr_qp->sq.max_gs;
hr_qp             640 drivers/infiniband/hw/hns/hns_roce_qp.c static int alloc_rq_inline_buf(struct hns_roce_qp *hr_qp,
hr_qp             645 drivers/infiniband/hw/hns/hns_roce_qp.c 	u32 wqe_cnt = hr_qp->rq.wqe_cnt;
hr_qp             666 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->rq_inl_buf.wqe_list = wqe_list;
hr_qp             667 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->rq_inl_buf.wqe_cnt = wqe_cnt;
hr_qp             678 drivers/infiniband/hw/hns/hns_roce_qp.c static void free_rq_inline_buf(struct hns_roce_qp *hr_qp)
hr_qp             680 drivers/infiniband/hw/hns/hns_roce_qp.c 	kfree(hr_qp->rq_inl_buf.wqe_list[0].sg_list);
hr_qp             681 drivers/infiniband/hw/hns/hns_roce_qp.c 	kfree(hr_qp->rq_inl_buf.wqe_list);
hr_qp             688 drivers/infiniband/hw/hns/hns_roce_qp.c 				     struct hns_roce_qp *hr_qp)
hr_qp             690 drivers/infiniband/hw/hns/hns_roce_qp.c 	dma_addr_t *buf_list[ARRAY_SIZE(hr_qp->regions)] = { NULL };
hr_qp             703 drivers/infiniband/hw/hns/hns_roce_qp.c 	mutex_init(&hr_qp->mutex);
hr_qp             704 drivers/infiniband/hw/hns/hns_roce_qp.c 	spin_lock_init(&hr_qp->sq.lock);
hr_qp             705 drivers/infiniband/hw/hns/hns_roce_qp.c 	spin_lock_init(&hr_qp->rq.lock);
hr_qp             707 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->state = IB_QPS_RESET;
hr_qp             709 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->ibqp.qp_type = init_attr->qp_type;
hr_qp             712 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq_signal_bits = IB_SIGNAL_ALL_WR;
hr_qp             714 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq_signal_bits = IB_SIGNAL_REQ_WR;
hr_qp             717 drivers/infiniband/hw/hns/hns_roce_qp.c 				   hns_roce_qp_has_rq(init_attr), hr_qp);
hr_qp             725 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = alloc_rq_inline_buf(hr_qp, init_attr);
hr_qp             740 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hns_roce_set_user_sq_size(hr_dev, &init_attr->cap, hr_qp,
hr_qp             747 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->umem = ib_umem_get(udata, ucmd.buf_addr,
hr_qp             748 drivers/infiniband/hw/hns/hns_roce_qp.c 					  hr_qp->buff_size, 0, 0);
hr_qp             749 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (IS_ERR(hr_qp->umem)) {
hr_qp             751 drivers/infiniband/hw/hns/hns_roce_qp.c 			ret = PTR_ERR(hr_qp->umem);
hr_qp             754 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->region_cnt = split_wqe_buf_region(hr_dev, hr_qp,
hr_qp             755 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp->regions, ARRAY_SIZE(hr_qp->regions),
hr_qp             757 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hns_roce_alloc_buf_list(hr_qp->regions, buf_list,
hr_qp             758 drivers/infiniband/hw/hns/hns_roce_qp.c 					      hr_qp->region_cnt);
hr_qp             764 drivers/infiniband/hw/hns/hns_roce_qp.c 		for (i = 0; i < hr_qp->region_cnt; i++) {
hr_qp             765 drivers/infiniband/hw/hns/hns_roce_qp.c 			r = &hr_qp->regions[i];
hr_qp             768 drivers/infiniband/hw/hns/hns_roce_qp.c 					hr_qp->umem, page_shift);
hr_qp             783 drivers/infiniband/hw/hns/hns_roce_qp.c 						   &hr_qp->sdb);
hr_qp             791 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->sdb_en = 1;
hr_qp             798 drivers/infiniband/hw/hns/hns_roce_qp.c 						   &hr_qp->rdb);
hr_qp             806 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rdb_en = 1;
hr_qp             824 drivers/infiniband/hw/hns/hns_roce_qp.c 						  hr_qp);
hr_qp             831 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.db_reg_l = hr_dev->reg_base + hr_dev->sdb_offset +
hr_qp             833 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->rq.db_reg_l = hr_dev->reg_base + hr_dev->odb_offset +
hr_qp             838 drivers/infiniband/hw/hns/hns_roce_qp.c 			ret = hns_roce_alloc_db(hr_dev, &hr_qp->rdb, 0);
hr_qp             843 drivers/infiniband/hw/hns/hns_roce_qp.c 			*hr_qp->rdb.db_record = 0;
hr_qp             844 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rdb_en = 1;
hr_qp             848 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hns_roce_buf_alloc(hr_dev, hr_qp->buff_size,
hr_qp             850 drivers/infiniband/hw/hns/hns_roce_qp.c 				       &hr_qp->hr_buf, page_shift)) {
hr_qp             855 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->region_cnt = split_wqe_buf_region(hr_dev, hr_qp,
hr_qp             856 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp->regions, ARRAY_SIZE(hr_qp->regions),
hr_qp             858 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hns_roce_alloc_buf_list(hr_qp->regions, buf_list,
hr_qp             859 drivers/infiniband/hw/hns/hns_roce_qp.c 					      hr_qp->region_cnt);
hr_qp             865 drivers/infiniband/hw/hns/hns_roce_qp.c 		for (i = 0; i < hr_qp->region_cnt; i++) {
hr_qp             866 drivers/infiniband/hw/hns/hns_roce_qp.c 			r = &hr_qp->regions[i];
hr_qp             869 drivers/infiniband/hw/hns/hns_roce_qp.c 					&hr_qp->hr_buf);
hr_qp             879 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->sq.wrid = kcalloc(hr_qp->sq.wqe_cnt, sizeof(u64),
hr_qp             881 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (ZERO_OR_NULL_PTR(hr_qp->sq.wrid)) {
hr_qp             886 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hr_qp->rq.wqe_cnt) {
hr_qp             887 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->rq.wrid = kcalloc(hr_qp->rq.wqe_cnt, sizeof(u64),
hr_qp             889 drivers/infiniband/hw/hns/hns_roce_qp.c 			if (ZERO_OR_NULL_PTR(hr_qp->rq.wrid)) {
hr_qp             907 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->wqe_bt_pg_shift = calc_wqe_bt_page_shift(hr_dev, hr_qp->regions,
hr_qp             908 drivers/infiniband/hw/hns/hns_roce_qp.c 							hr_qp->region_cnt);
hr_qp             909 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_mtr_init(&hr_qp->mtr, PAGE_SHIFT + hr_qp->wqe_bt_pg_shift,
hr_qp             911 drivers/infiniband/hw/hns/hns_roce_qp.c 	ret = hns_roce_mtr_attach(hr_dev, &hr_qp->mtr, buf_list,
hr_qp             912 drivers/infiniband/hw/hns/hns_roce_qp.c 				  hr_qp->regions, hr_qp->region_cnt);
hr_qp             921 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hns_roce_gsi_qp_alloc(hr_dev, qpn, hr_qp);
hr_qp             927 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hns_roce_qp_alloc(hr_dev, qpn, hr_qp);
hr_qp             935 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->doorbell_qpn = 1;
hr_qp             937 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->doorbell_qpn = (u32)hr_qp->qpn;
hr_qp             947 drivers/infiniband/hw/hns/hns_roce_qp.c 		ret = hr_dev->hw->qp_flow_control_init(hr_dev, hr_qp);
hr_qp             952 drivers/infiniband/hw/hns/hns_roce_qp.c 	hr_qp->event = hns_roce_ib_qp_event;
hr_qp             953 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_free_buf_list(buf_list, hr_qp->region_cnt);
hr_qp             960 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_qp_remove(hr_dev, hr_qp);
hr_qp             962 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_qp_free(hr_dev, hr_qp);
hr_qp             969 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_mtr_cleanup(hr_dev, &hr_qp->mtr);
hr_qp             976 drivers/infiniband/hw/hns/hns_roce_qp.c 			hns_roce_db_unmap_user(uctx, &hr_qp->rdb);
hr_qp             978 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hr_qp->rq.wqe_cnt)
hr_qp             979 drivers/infiniband/hw/hns/hns_roce_qp.c 			kfree(hr_qp->rq.wrid);
hr_qp             988 drivers/infiniband/hw/hns/hns_roce_qp.c 			hns_roce_db_unmap_user(uctx, &hr_qp->sdb);
hr_qp             992 drivers/infiniband/hw/hns/hns_roce_qp.c 		kfree(hr_qp->sq.wrid);
hr_qp             995 drivers/infiniband/hw/hns/hns_roce_qp.c 	hns_roce_free_buf_list(buf_list, hr_qp->region_cnt);
hr_qp             998 drivers/infiniband/hw/hns/hns_roce_qp.c 	if (!hr_qp->umem)
hr_qp             999 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_buf_free(hr_dev, hr_qp->buff_size, &hr_qp->hr_buf);
hr_qp            1000 drivers/infiniband/hw/hns/hns_roce_qp.c 	ib_umem_release(hr_qp->umem);
hr_qp            1005 drivers/infiniband/hw/hns/hns_roce_qp.c 		hns_roce_free_db(hr_dev, &hr_qp->rdb);
hr_qp            1010 drivers/infiniband/hw/hns/hns_roce_qp.c 		free_rq_inline_buf(hr_qp);
hr_qp            1023 drivers/infiniband/hw/hns/hns_roce_qp.c 	struct hns_roce_qp *hr_qp;
hr_qp            1028 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp = kzalloc(sizeof(*hr_qp), GFP_KERNEL);
hr_qp            1029 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (!hr_qp)
hr_qp            1033 drivers/infiniband/hw/hns/hns_roce_qp.c 						hr_qp);
hr_qp            1036 drivers/infiniband/hw/hns/hns_roce_qp.c 				  hr_qp->qpn, ret);
hr_qp            1037 drivers/infiniband/hw/hns/hns_roce_qp.c 			kfree(hr_qp);
hr_qp            1041 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->ibqp.qp_num = hr_qp->qpn;
hr_qp            1056 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp = &hr_sqp->hr_qp;
hr_qp            1057 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->port = init_attr->port_num - 1;
hr_qp            1058 drivers/infiniband/hw/hns/hns_roce_qp.c 		hr_qp->phy_port = hr_dev->iboe.phy_port[hr_qp->port];
hr_qp            1062 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->ibqp.qp_num = HNS_ROCE_MAX_PORTS +
hr_qp            1063 drivers/infiniband/hw/hns/hns_roce_qp.c 					     hr_dev->iboe.phy_port[hr_qp->port];
hr_qp            1065 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->ibqp.qp_num = 1;
hr_qp            1068 drivers/infiniband/hw/hns/hns_roce_qp.c 						hr_qp->ibqp.qp_num, hr_qp);
hr_qp            1084 drivers/infiniband/hw/hns/hns_roce_qp.c 	return &hr_qp->ibqp;
hr_qp            1106 drivers/infiniband/hw/hns/hns_roce_qp.c 			      struct hns_roce_qp *hr_qp,
hr_qp            1112 drivers/infiniband/hw/hns/hns_roce_qp.c 	p = attr_mask & IB_QP_PORT ? (attr->port_num - 1) : hr_qp->port;
hr_qp            1131 drivers/infiniband/hw/hns/hns_roce_qp.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            1143 drivers/infiniband/hw/hns/hns_roce_qp.c 		p = attr_mask & IB_QP_PORT ? (attr->port_num - 1) : hr_qp->port;
hr_qp            1169 drivers/infiniband/hw/hns/hns_roce_qp.c 		return check_mtu_validate(hr_dev, hr_qp, attr, attr_mask);
hr_qp            1178 drivers/infiniband/hw/hns/hns_roce_qp.c 	struct hns_roce_qp *hr_qp = to_hr_qp(ibqp);
hr_qp            1182 drivers/infiniband/hw/hns/hns_roce_qp.c 	mutex_lock(&hr_qp->mutex);
hr_qp            1185 drivers/infiniband/hw/hns/hns_roce_qp.c 		    attr->cur_qp_state : (enum ib_qp_state)hr_qp->state;
hr_qp            1190 drivers/infiniband/hw/hns/hns_roce_qp.c 		if (hr_qp->sdb_en == 1) {
hr_qp            1191 drivers/infiniband/hw/hns/hns_roce_qp.c 			hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr);
hr_qp            1193 drivers/infiniband/hw/hns/hns_roce_qp.c 			if (hr_qp->rdb_en == 1)
hr_qp            1194 drivers/infiniband/hw/hns/hns_roce_qp.c 				hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr);
hr_qp            1229 drivers/infiniband/hw/hns/hns_roce_qp.c 	mutex_unlock(&hr_qp->mutex);
hr_qp            1265 drivers/infiniband/hw/hns/hns_roce_qp.c static void *get_wqe(struct hns_roce_qp *hr_qp, int offset)
hr_qp            1268 drivers/infiniband/hw/hns/hns_roce_qp.c 	return hns_roce_buf_offset(&hr_qp->hr_buf, offset);
hr_qp            1271 drivers/infiniband/hw/hns/hns_roce_qp.c void *get_recv_wqe(struct hns_roce_qp *hr_qp, int n)
hr_qp            1273 drivers/infiniband/hw/hns/hns_roce_qp.c 	return get_wqe(hr_qp, hr_qp->rq.offset + (n << hr_qp->rq.wqe_shift));
hr_qp            1276 drivers/infiniband/hw/hns/hns_roce_qp.c void *get_send_wqe(struct hns_roce_qp *hr_qp, int n)
hr_qp            1278 drivers/infiniband/hw/hns/hns_roce_qp.c 	return get_wqe(hr_qp, hr_qp->sq.offset + (n << hr_qp->sq.wqe_shift));
hr_qp            1281 drivers/infiniband/hw/hns/hns_roce_qp.c void *get_send_extend_sge(struct hns_roce_qp *hr_qp, int n)
hr_qp            1283 drivers/infiniband/hw/hns/hns_roce_qp.c 	return hns_roce_buf_offset(&hr_qp->hr_buf, hr_qp->sge.offset +
hr_qp            1284 drivers/infiniband/hw/hns/hns_roce_qp.c 					(n << hr_qp->sge.sge_shift));