Lines Matching refs:recv_cq

75 		    struct mlx5_ib_cq **send_cq, struct mlx5_ib_cq **recv_cq);
745 struct mlx5_ib_cq *recv_cq);
747 struct mlx5_ib_cq *recv_cq);
1930 struct mlx5_ib_cq *recv_cq;
2003 int rcqe_sz = mlx5_ib_get_cqe_size(init_attr->recv_cq);
2050 if (init_attr->recv_cq)
2051 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(init_attr->recv_cq)->mcq.cqn);
2085 get_cqs(qp->type, init_attr->send_cq, init_attr->recv_cq,
2086 &send_cq, &recv_cq);
2088 mlx5_ib_lock_cqs(send_cq, recv_cq);
2097 if (recv_cq)
2098 list_add_tail(&qp->cq_recv_list, &recv_cq->list_recv_qp);
2099 mlx5_ib_unlock_cqs(send_cq, recv_cq);
2120 struct mlx5_ib_cq *recv_cq;
2193 if (attr->recv_cq)
2194 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(attr->recv_cq)->mcq.cqn);
2214 get_cqs(qp->type, attr->send_cq, attr->recv_cq,
2215 &send_cq, &recv_cq);
2217 mlx5_ib_lock_cqs(send_cq, recv_cq);
2226 if (recv_cq)
2227 list_add_tail(&qp->cq_recv_list, &recv_cq->list_recv_qp);
2228 mlx5_ib_unlock_cqs(send_cq, recv_cq);
2238 static void mlx5_ib_lock_cqs(struct mlx5_ib_cq *send_cq, struct mlx5_ib_cq *recv_cq)
2239 __acquires(&send_cq->lock) __acquires(&recv_cq->lock)
2242 if (recv_cq) {
2243 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
2245 spin_lock_nested(&recv_cq->lock,
2247 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) {
2249 __acquire(&recv_cq->lock);
2251 spin_lock(&recv_cq->lock);
2257 __acquire(&recv_cq->lock);
2259 } else if (recv_cq) {
2260 spin_lock(&recv_cq->lock);
2264 __acquire(&recv_cq->lock);
2268 static void mlx5_ib_unlock_cqs(struct mlx5_ib_cq *send_cq, struct mlx5_ib_cq *recv_cq)
2269 __releases(&send_cq->lock) __releases(&recv_cq->lock)
2272 if (recv_cq) {
2273 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
2274 spin_unlock(&recv_cq->lock);
2276 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) {
2277 __release(&recv_cq->lock);
2281 spin_unlock(&recv_cq->lock);
2284 __release(&recv_cq->lock);
2287 } else if (recv_cq) {
2289 spin_unlock(&recv_cq->lock);
2291 __release(&recv_cq->lock);
2298 struct mlx5_ib_cq **send_cq, struct mlx5_ib_cq **recv_cq)
2303 *recv_cq = NULL;
2308 *recv_cq = NULL;
2318 *recv_cq = ib_recv_cq ? to_mcq(ib_recv_cq) : NULL;
2322 *recv_cq = NULL;
2334 struct mlx5_ib_cq *send_cq, *recv_cq;
2366 get_cqs(qp->type, qp->ibqp.send_cq, qp->ibqp.recv_cq, &send_cq,
2367 &recv_cq);
2370 mlx5_ib_lock_cqs(send_cq, recv_cq);
2376 if (recv_cq)
2380 __mlx5_ib_cq_clean(recv_cq, base->mqp.qpn,
2382 if (send_cq != recv_cq)
2386 mlx5_ib_unlock_cqs(send_cq, recv_cq);
2422 MLX5_SET(dctc, dctc, cqn, to_mcq(attr->recv_cq)->mcq.cqn);
2429 int rcqe_sz = mlx5_ib_get_cqe_size(attr->recv_cq);
2800 params->attr->recv_cq ? to_mcq(params->attr->recv_cq)->mcq.cqn :
2816 ret = (!attr->srq || !attr->recv_cq) ? -EINVAL : 0;
3004 qp->ibqp.recv_cq = attr->recv_cq;
3819 struct mlx5_ib_cq *send_cq, *recv_cq;
3925 get_cqs(qp->ibqp.qp_type, qp->ibqp.send_cq, qp->ibqp.recv_cq,
3926 &send_cq, &recv_cq);
3931 if (recv_cq)
3932 MLX5_SET(qpc, qpc, cqn_rcv, recv_cq->mcq.cqn);
4078 mlx5_ib_cq_clean(recv_cq, base->mqp.qpn,
4080 if (send_cq != recv_cq)
4788 qp_init_attr->recv_cq = ibqp->recv_cq;
5442 struct ib_cq *cq = qp->recv_cq;