Lines Matching refs:send_cq
52 static void mlx4_ib_lock_cqs(struct mlx4_ib_cq *send_cq,
54 static void mlx4_ib_unlock_cqs(struct mlx4_ib_cq *send_cq,
762 if (init_attr->send_cq || init_attr->cap.max_send_wr) {
960 mlx4_ib_lock_cqs(to_mcq(init_attr->send_cq),
969 mcq = to_mcq(init_attr->send_cq);
973 mlx4_ib_unlock_cqs(to_mcq(init_attr->send_cq),
1234 mlx4_ib_lock_cqs(to_mcq(init_attr->send_cq),
1243 mcq = to_mcq(init_attr->send_cq);
1247 mlx4_ib_unlock_cqs(to_mcq(init_attr->send_cq),
1302 static void mlx4_ib_lock_cqs(struct mlx4_ib_cq *send_cq, struct mlx4_ib_cq *recv_cq)
1303 __acquires(&send_cq->lock) __acquires(&recv_cq->lock)
1305 if (send_cq == recv_cq) {
1306 spin_lock(&send_cq->lock);
1308 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
1309 spin_lock(&send_cq->lock);
1313 spin_lock_nested(&send_cq->lock, SINGLE_DEPTH_NESTING);
1317 static void mlx4_ib_unlock_cqs(struct mlx4_ib_cq *send_cq, struct mlx4_ib_cq *recv_cq)
1318 __releases(&send_cq->lock) __releases(&recv_cq->lock)
1320 if (send_cq == recv_cq) {
1322 spin_unlock(&send_cq->lock);
1323 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) {
1325 spin_unlock(&send_cq->lock);
1327 spin_unlock(&send_cq->lock);
1351 struct mlx4_ib_cq **send_cq, struct mlx4_ib_cq **recv_cq)
1355 *send_cq = to_mcq(to_mxrcd(qp->ibqp.xrcd)->cq);
1356 *recv_cq = *send_cq;
1359 *send_cq = to_mcq(qp->ibqp.send_cq);
1360 *recv_cq = *send_cq;
1365 *send_cq = (src == MLX4_IB_QP_SRC) ? to_mcq(qp->ibqp.send_cq) :
1404 struct mlx4_ib_cq *send_cq, *recv_cq;
1435 get_cqs(qp, src, &send_cq, &recv_cq);
1438 mlx4_ib_lock_cqs(send_cq, recv_cq);
1447 if (send_cq != recv_cq)
1448 __mlx4_ib_cq_clean(send_cq, qp->mqp.qpn, NULL);
1453 mlx4_ib_unlock_cqs(send_cq, recv_cq);
1563 init_attr->send_cq = to_mxrcd(init_attr->xrcd)->cq;
1568 init_attr->recv_cq = init_attr->send_cq;
2121 struct mlx4_ib_cq *send_cq, *recv_cq;
2356 get_cqs(qp, src_type, &send_cq, &recv_cq);
2358 send_cq = to_mcq(rwq_ind_tbl->ind_tbl[0]->cq);
2359 recv_cq = send_cq;
2361 context->cqn_send = cpu_to_be32(send_cq->mcq.cqn);
2580 if (send_cq != recv_cq)
2581 mlx4_ib_cq_clean(send_cq, qp->mqp.qpn, NULL);
3576 if (mlx4_wq_overflow(&qp->sq, nreq, qp->ibqp.send_cq)) {
4174 ib_qp_init_attr.send_cq = ib_qp_init_attr.recv_cq; /* Dummy CQ */
4448 struct ib_cq *cq = qp->send_cq;