• Home
  • Raw
  • Download

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; in create_user_qp() local
2003 int rcqe_sz = mlx5_ib_get_cqe_size(init_attr->recv_cq); in create_user_qp()
2050 if (init_attr->recv_cq) in create_user_qp()
2051 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(init_attr->recv_cq)->mcq.cqn); in create_user_qp()
2085 get_cqs(qp->type, init_attr->send_cq, init_attr->recv_cq, in create_user_qp()
2086 &send_cq, &recv_cq); in create_user_qp()
2088 mlx5_ib_lock_cqs(send_cq, recv_cq); in create_user_qp()
2097 if (recv_cq) in create_user_qp()
2098 list_add_tail(&qp->cq_recv_list, &recv_cq->list_recv_qp); in create_user_qp()
2099 mlx5_ib_unlock_cqs(send_cq, recv_cq); in create_user_qp()
2120 struct mlx5_ib_cq *recv_cq; in create_kernel_qp() local
2193 if (attr->recv_cq) in create_kernel_qp()
2194 MLX5_SET(qpc, qpc, cqn_rcv, to_mcq(attr->recv_cq)->mcq.cqn); in create_kernel_qp()
2214 get_cqs(qp->type, attr->send_cq, attr->recv_cq, in create_kernel_qp()
2215 &send_cq, &recv_cq); in create_kernel_qp()
2217 mlx5_ib_lock_cqs(send_cq, recv_cq); in create_kernel_qp()
2226 if (recv_cq) in create_kernel_qp()
2227 list_add_tail(&qp->cq_recv_list, &recv_cq->list_recv_qp); in create_kernel_qp()
2228 mlx5_ib_unlock_cqs(send_cq, recv_cq); in create_kernel_qp()
2238 static void mlx5_ib_lock_cqs(struct mlx5_ib_cq *send_cq, struct mlx5_ib_cq *recv_cq) in mlx5_ib_lock_cqs() argument
2239 __acquires(&send_cq->lock) __acquires(&recv_cq->lock) in mlx5_ib_lock_cqs()
2242 if (recv_cq) { in mlx5_ib_lock_cqs()
2243 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx5_ib_lock_cqs()
2245 spin_lock_nested(&recv_cq->lock, in mlx5_ib_lock_cqs()
2247 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) { in mlx5_ib_lock_cqs()
2249 __acquire(&recv_cq->lock); in mlx5_ib_lock_cqs()
2251 spin_lock(&recv_cq->lock); in mlx5_ib_lock_cqs()
2257 __acquire(&recv_cq->lock); in mlx5_ib_lock_cqs()
2259 } else if (recv_cq) { in mlx5_ib_lock_cqs()
2260 spin_lock(&recv_cq->lock); in mlx5_ib_lock_cqs()
2264 __acquire(&recv_cq->lock); in mlx5_ib_lock_cqs()
2268 static void mlx5_ib_unlock_cqs(struct mlx5_ib_cq *send_cq, struct mlx5_ib_cq *recv_cq) in mlx5_ib_unlock_cqs() argument
2269 __releases(&send_cq->lock) __releases(&recv_cq->lock) in mlx5_ib_unlock_cqs()
2272 if (recv_cq) { in mlx5_ib_unlock_cqs()
2273 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx5_ib_unlock_cqs()
2274 spin_unlock(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2276 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) { in mlx5_ib_unlock_cqs()
2277 __release(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2281 spin_unlock(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2284 __release(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2287 } else if (recv_cq) { in mlx5_ib_unlock_cqs()
2289 spin_unlock(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2291 __release(&recv_cq->lock); in mlx5_ib_unlock_cqs()
2298 struct mlx5_ib_cq **send_cq, struct mlx5_ib_cq **recv_cq) in get_cqs() argument
2303 *recv_cq = NULL; in get_cqs()
2308 *recv_cq = NULL; in get_cqs()
2318 *recv_cq = ib_recv_cq ? to_mcq(ib_recv_cq) : NULL; in get_cqs()
2322 *recv_cq = NULL; in get_cqs()
2334 struct mlx5_ib_cq *send_cq, *recv_cq; in destroy_qp_common() local
2366 get_cqs(qp->type, qp->ibqp.send_cq, qp->ibqp.recv_cq, &send_cq, in destroy_qp_common()
2367 &recv_cq); in destroy_qp_common()
2370 mlx5_ib_lock_cqs(send_cq, recv_cq); in destroy_qp_common()
2376 if (recv_cq) in destroy_qp_common()
2380 __mlx5_ib_cq_clean(recv_cq, base->mqp.qpn, in destroy_qp_common()
2382 if (send_cq != recv_cq) in destroy_qp_common()
2386 mlx5_ib_unlock_cqs(send_cq, recv_cq); in destroy_qp_common()
2422 MLX5_SET(dctc, dctc, cqn, to_mcq(attr->recv_cq)->mcq.cqn); in create_dct()
2429 int rcqe_sz = mlx5_ib_get_cqe_size(attr->recv_cq); in create_dct()
2800 params->attr->recv_cq ? to_mcq(params->attr->recv_cq)->mcq.cqn : in create_qp()
2816 ret = (!attr->srq || !attr->recv_cq) ? -EINVAL : 0; in check_qp_attr()
3004 qp->ibqp.recv_cq = attr->recv_cq; in mlx5_ib_create_qp()
3792 struct mlx5_ib_cq *send_cq, *recv_cq; in __mlx5_ib_modify_qp() local
3898 get_cqs(qp->ibqp.qp_type, qp->ibqp.send_cq, qp->ibqp.recv_cq, in __mlx5_ib_modify_qp()
3899 &send_cq, &recv_cq); in __mlx5_ib_modify_qp()
3904 if (recv_cq) in __mlx5_ib_modify_qp()
3905 MLX5_SET(qpc, qpc, cqn_rcv, recv_cq->mcq.cqn); in __mlx5_ib_modify_qp()
4051 mlx5_ib_cq_clean(recv_cq, base->mqp.qpn, in __mlx5_ib_modify_qp()
4053 if (send_cq != recv_cq) in __mlx5_ib_modify_qp()
4761 qp_init_attr->recv_cq = ibqp->recv_cq; in mlx5_ib_query_qp()
5415 struct ib_cq *cq = qp->recv_cq; in mlx5_ib_drain_rq()