Lines Matching refs:send_cq
49 static void mlx4_ib_lock_cqs(struct mlx4_ib_cq *send_cq,
51 static void mlx4_ib_unlock_cqs(struct mlx4_ib_cq *send_cq,
844 mlx4_ib_lock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
853 mcq = to_mcq(init_attr->send_cq); in create_qp_common()
857 mlx4_ib_unlock_cqs(to_mcq(init_attr->send_cq), in create_qp_common()
914 static void mlx4_ib_lock_cqs(struct mlx4_ib_cq *send_cq, struct mlx4_ib_cq *recv_cq) in mlx4_ib_lock_cqs() argument
915 __acquires(&send_cq->lock) __acquires(&recv_cq->lock) in mlx4_ib_lock_cqs()
917 if (send_cq == recv_cq) { in mlx4_ib_lock_cqs()
918 spin_lock(&send_cq->lock); in mlx4_ib_lock_cqs()
920 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx4_ib_lock_cqs()
921 spin_lock(&send_cq->lock); in mlx4_ib_lock_cqs()
925 spin_lock_nested(&send_cq->lock, SINGLE_DEPTH_NESTING); in mlx4_ib_lock_cqs()
929 static void mlx4_ib_unlock_cqs(struct mlx4_ib_cq *send_cq, struct mlx4_ib_cq *recv_cq) in mlx4_ib_unlock_cqs() argument
930 __releases(&send_cq->lock) __releases(&recv_cq->lock) in mlx4_ib_unlock_cqs()
932 if (send_cq == recv_cq) { in mlx4_ib_unlock_cqs()
934 spin_unlock(&send_cq->lock); in mlx4_ib_unlock_cqs()
935 } else if (send_cq->mcq.cqn < recv_cq->mcq.cqn) { in mlx4_ib_unlock_cqs()
937 spin_unlock(&send_cq->lock); in mlx4_ib_unlock_cqs()
939 spin_unlock(&send_cq->lock); in mlx4_ib_unlock_cqs()
963 struct mlx4_ib_cq **send_cq, struct mlx4_ib_cq **recv_cq) in get_cqs() argument
967 *send_cq = to_mcq(to_mxrcd(qp->ibqp.xrcd)->cq); in get_cqs()
968 *recv_cq = *send_cq; in get_cqs()
971 *send_cq = to_mcq(qp->ibqp.send_cq); in get_cqs()
972 *recv_cq = *send_cq; in get_cqs()
975 *send_cq = to_mcq(qp->ibqp.send_cq); in get_cqs()
984 struct mlx4_ib_cq *send_cq, *recv_cq; in destroy_qp_common() local
1015 get_cqs(qp, &send_cq, &recv_cq); in destroy_qp_common()
1018 mlx4_ib_lock_cqs(send_cq, recv_cq); in destroy_qp_common()
1027 if (send_cq != recv_cq) in destroy_qp_common()
1028 __mlx4_ib_cq_clean(send_cq, qp->mqp.qpn, NULL); in destroy_qp_common()
1033 mlx4_ib_unlock_cqs(send_cq, recv_cq); in destroy_qp_common()
1123 init_attr->send_cq = to_mxrcd(init_attr->xrcd)->cq; in mlx4_ib_create_qp()
1128 init_attr->recv_cq = init_attr->send_cq; in mlx4_ib_create_qp()
1453 struct mlx4_ib_cq *send_cq, *recv_cq; in __mlx4_ib_modify_qp() local
1597 get_cqs(qp, &send_cq, &recv_cq); in __mlx4_ib_modify_qp()
1599 context->cqn_send = cpu_to_be32(send_cq->mcq.cqn); in __mlx4_ib_modify_qp()
1808 if (send_cq != recv_cq) in __mlx4_ib_modify_qp()
1809 mlx4_ib_cq_clean(send_cq, qp->mqp.qpn, NULL); in __mlx4_ib_modify_qp()
2674 if (mlx4_wq_overflow(&qp->sq, nreq, qp->ibqp.send_cq)) { in mlx4_ib_post_send()