Lines Matching refs:send_cq

75 		    struct mlx5_ib_cq **send_cq, struct mlx5_ib_cq **recv_cq);
744 static void mlx5_ib_lock_cqs(struct mlx5_ib_cq *send_cq,
746 static void mlx5_ib_unlock_cqs(struct mlx5_ib_cq *send_cq,
1784 scqe_sz = mlx5_ib_get_cqe_size(init_attr->send_cq);
1929 struct mlx5_ib_cq *send_cq;
2047 if (init_attr->send_cq)
2048 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(init_attr->send_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);
2095 if (send_cq)
2096 list_add_tail(&qp->cq_send_list, &send_cq->list_send_qp);
2099 mlx5_ib_unlock_cqs(send_cq, recv_cq);
2119 struct mlx5_ib_cq *send_cq;
2190 if (attr->send_cq)
2191 MLX5_SET(qpc, qpc, cqn_snd, to_mcq(attr->send_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);
2224 if (send_cq)
2225 list_add_tail(&qp->cq_send_list, &send_cq->list_send_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)
2241 if (send_cq) {
2243 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
2244 spin_lock(&send_cq->lock);
2247 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) {
2248 spin_lock(&send_cq->lock);
2252 spin_lock_nested(&send_cq->lock,
2256 spin_lock(&send_cq->lock);
2261 __acquire(&send_cq->lock);
2263 __acquire(&send_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)
2271 if (send_cq) {
2273 if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
2275 spin_unlock(&send_cq->lock);
2276 } else if (send_cq->mcq.cqn == recv_cq->mcq.cqn) {
2278 spin_unlock(&send_cq->lock);
2280 spin_unlock(&send_cq->lock);
2285 spin_unlock(&send_cq->lock);
2288 __release(&send_cq->lock);
2292 __release(&send_cq->lock);
2298 struct mlx5_ib_cq **send_cq, struct mlx5_ib_cq **recv_cq)
2302 *send_cq = NULL;
2307 *send_cq = ib_send_cq ? to_mcq(ib_send_cq) : NULL;
2317 *send_cq = ib_send_cq ? to_mcq(ib_send_cq) : NULL;
2321 *send_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,
2370 mlx5_ib_lock_cqs(send_cq, recv_cq);
2373 if (send_cq)
2382 if (send_cq != recv_cq)
2383 __mlx5_ib_cq_clean(send_cq, base->mqp.qpn,
2386 mlx5_ib_unlock_cqs(send_cq, recv_cq);
2802 params->attr->send_cq ? to_mcq(params->attr->send_cq)->mcq.cqn :
2824 ret = (attr->rwq_ind_tbl && attr->send_cq) ? -EINVAL : 0;
3003 qp->ibqp.send_cq = attr->send_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);
3929 if (send_cq)
3930 MLX5_SET(qpc, qpc, cqn_snd, send_cq->mcq.cqn);
4080 if (send_cq != recv_cq)
4081 mlx5_ib_cq_clean(send_cq, base->mqp.qpn, NULL);
4789 qp_init_attr->send_cq = ibqp->send_cq;
5407 struct ib_cq *cq = qp->send_cq;