Lines Matching refs:rx_ring
109 int id = ring_head(ssk->rx_ring);
125 rx_req = ssk->rx_ring.buffer + (id & (SDP_RX_SIZE - 1));
156 atomic_inc(&ssk->rx_ring.head);
286 ssk->recv_request_head = ring_head(ssk->rx_ring) + 1;
288 ssk->recv_request_head = ring_tail(ssk->rx_ring);
308 if (unlikely(id != ring_tail(ssk->rx_ring))) {
310 id, ring_tail(ssk->rx_ring));
315 rx_req = &ssk->rx_ring.buffer[id & (SDP_RX_SIZE - 1)];
319 atomic_inc(&ssk->rx_ring.tail);
533 struct ib_cq *cq = ssk->rx_ring.cq;
573 if (unlikely(!ssk->rx_ring.cq)) {
574 sdp_prf(ssk->socket, NULL, "rx_ring.cq is NULL");
609 if (!ssk->rx_ring.cq || !ssk->tx_ring.cq)
637 if (!rx_ring_trylock(&ssk->rx_ring)) {
654 rx_ring_unlock(&ssk->rx_ring);
665 KASSERT(cq == ssk->rx_ring.cq,
680 mb = sdp_recv_completion(ssk, ring_tail(ssk->rx_ring));
690 ssk->rx_ring.buffer = NULL;
691 ssk->rx_ring.destroyed = 0;
692 rw_init(&ssk->rx_ring.destroyed_lock, "sdp rx lock");
713 atomic_set(&ssk->rx_ring.head, 1);
714 atomic_set(&ssk->rx_ring.tail, 1);
716 ssk->rx_ring.buffer = malloc(sizeof(*ssk->rx_ring.buffer) * SDP_RX_SIZE,
727 sdp_sk(ssk->socket)->rx_ring.cq = rx_cq;
733 free(ssk->rx_ring.buffer, M_SDP);
734 ssk->rx_ring.buffer = NULL;
743 rx_ring_destroy_lock(&ssk->rx_ring);
745 if (ssk->rx_ring.buffer) {
747 free(ssk->rx_ring.buffer, M_SDP);
748 ssk->rx_ring.buffer = NULL;
751 if (ssk->rx_ring.cq) {
752 if (ib_destroy_cq(ssk->rx_ring.cq)) {
754 ssk->rx_ring.cq);
756 ssk->rx_ring.cq = NULL;
760 WARN_ON(ring_head(ssk->rx_ring) != ring_tail(ssk->rx_ring));