Lines Matching refs:rq

91 	return get_wqe(qp, qp->rq.offset + (n << qp->rq.wqe_shift));  in get_recv_wqe()
121 struct mlx5_ib_wq *wq = send ? &qp->sq : &qp->rq; in mlx5_ib_read_user_wqe()
226 qp->rq.max_gs = 0; in set_rq_size()
227 qp->rq.wqe_cnt = 0; in set_rq_size()
228 qp->rq.wqe_shift = 0; in set_rq_size()
231 qp->rq.wqe_cnt = ucmd->rq_wqe_count; in set_rq_size()
232 qp->rq.wqe_shift = ucmd->rq_wqe_shift; in set_rq_size()
233 qp->rq.max_gs = (1 << qp->rq.wqe_shift) / sizeof(struct mlx5_wqe_data_seg) - qp->wq_sig; in set_rq_size()
234 qp->rq.max_post = qp->rq.wqe_cnt; in set_rq_size()
241 qp->rq.wqe_cnt = wq_size / wqe_size; in set_rq_size()
249 qp->rq.wqe_shift = ilog2(wqe_size); in set_rq_size()
250 qp->rq.max_gs = (1 << qp->rq.wqe_shift) / sizeof(struct mlx5_wqe_data_seg) - qp->wq_sig; in set_rq_size()
251 qp->rq.max_post = qp->rq.wqe_cnt; in set_rq_size()
394 qp->buf_size = (qp->rq.wqe_cnt << qp->rq.wqe_shift) + in set_user_buf_size()
637 qp->rq.offset = 0; in create_user_qp()
639 qp->sq.offset = qp->rq.wqe_cnt << qp->rq.wqe_shift; in create_user_qp()
759 qp->rq.offset = 0; in create_kernel_qp()
760 qp->sq.offset = qp->rq.wqe_cnt << qp->rq.wqe_shift; in create_kernel_qp()
761 qp->buf_size = err + (qp->rq.wqe_cnt << qp->rq.wqe_shift); in create_kernel_qp()
793 qp->rq.wrid = kmalloc(qp->rq.wqe_cnt * sizeof(*qp->rq.wrid), GFP_KERNEL); in create_kernel_qp()
797 if (!qp->sq.wrid || !qp->sq.wr_data || !qp->rq.wrid || in create_kernel_qp()
812 kfree(qp->rq.wrid); in create_kernel_qp()
832 kfree(qp->rq.wrid); in destroy_qp_kernel()
872 spin_lock_init(&qp->rq.lock); in create_qp_common()
911 if (ucmd.rq_wqe_shift != qp->rq.wqe_shift || in create_qp_common()
912 ucmd.rq_wqe_count != qp->rq.wqe_cnt) { in create_qp_common()
977 if (qp->rq.wqe_cnt) { in create_qp_common()
978 in->ctx.rq_size_stride = (qp->rq.wqe_shift - 4); in create_qp_common()
979 in->ctx.rq_size_stride |= ilog2(qp->rq.wqe_cnt) << 3; in create_qp_common()
1684 if (qp->rq.wqe_cnt && cur_state == IB_QPS_RESET && new_state == IB_QPS_INIT) in __mlx5_ib_modify_qp()
1745 qp->rq.head = 0; in __mlx5_ib_modify_qp()
1746 qp->rq.tail = 0; in __mlx5_ib_modify_qp()
2898 spin_lock_irqsave(&qp->rq.lock, flags); in mlx5_ib_post_recv()
2900 ind = qp->rq.head & (qp->rq.wqe_cnt - 1); in mlx5_ib_post_recv()
2903 if (mlx5_wq_overflow(&qp->rq, nreq, qp->ibqp.recv_cq)) { in mlx5_ib_post_recv()
2909 if (unlikely(wr->num_sge > qp->rq.max_gs)) { in mlx5_ib_post_recv()
2922 if (i < qp->rq.max_gs) { in mlx5_ib_post_recv()
2930 set_sig_seg(sig, (qp->rq.max_gs + 1) << 2); in mlx5_ib_post_recv()
2933 qp->rq.wrid[ind] = wr->wr_id; in mlx5_ib_post_recv()
2935 ind = (ind + 1) & (qp->rq.wqe_cnt - 1); in mlx5_ib_post_recv()
2940 qp->rq.head += nreq; in mlx5_ib_post_recv()
2947 *qp->db.db = cpu_to_be32(qp->rq.head & 0xffff); in mlx5_ib_post_recv()
2950 spin_unlock_irqrestore(&qp->rq.lock, flags); in mlx5_ib_post_recv()
3091 qp_attr->cap.max_recv_wr = qp->rq.wqe_cnt; in mlx5_ib_query_qp()
3092 qp_attr->cap.max_recv_sge = qp->rq.max_gs; in mlx5_ib_query_qp()