Lines Matching refs:rx_ring

107 	int id = ring_head(ssk->rx_ring);
123 rx_req = ssk->rx_ring.buffer + (id & (SDP_RX_SIZE - 1));
154 atomic_inc(&ssk->rx_ring.head);
284 ssk->recv_request_head = ring_head(ssk->rx_ring) + 1;
286 ssk->recv_request_head = ring_tail(ssk->rx_ring);
306 if (unlikely(id != ring_tail(ssk->rx_ring))) {
308 id, ring_tail(ssk->rx_ring));
313 rx_req = &ssk->rx_ring.buffer[id & (SDP_RX_SIZE - 1)];
317 atomic_inc(&ssk->rx_ring.tail);
544 struct ib_cq *cq = ssk->rx_ring.cq;
584 if (unlikely(!ssk->rx_ring.cq)) {
585 sdp_prf(ssk->socket, NULL, "rx_ring.cq is NULL");
623 if (!ssk->rx_ring.cq || !ssk->tx_ring.cq)
651 if (!rx_ring_trylock(&ssk->rx_ring)) {
668 rx_ring_unlock(&ssk->rx_ring);
679 if (cq != ssk->rx_ring.cq) {
680 sdp_dbg(sk, "cq = %p, ssk->cq = %p\n", cq, ssk->rx_ring.cq);
696 mb = sdp_recv_completion(ssk, ring_tail(ssk->rx_ring));
706 ssk->rx_ring.buffer = NULL;
707 ssk->rx_ring.destroyed = 0;
708 rw_init(&ssk->rx_ring.destroyed_lock, "sdp rx lock");
725 atomic_set(&ssk->rx_ring.head, 1);
726 atomic_set(&ssk->rx_ring.tail, 1);
728 ssk->rx_ring.buffer = kmalloc(
729 sizeof *ssk->rx_ring.buffer * SDP_RX_SIZE, GFP_KERNEL);
730 if (!ssk->rx_ring.buffer) {
733 sizeof(*ssk->rx_ring.buffer) * SDP_RX_SIZE);
747 sdp_sk(ssk->socket)->rx_ring.cq = rx_cq;
753 kfree(ssk->rx_ring.buffer);
754 ssk->rx_ring.buffer = NULL;
763 rx_ring_destroy_lock(&ssk->rx_ring);
765 if (ssk->rx_ring.buffer) {
768 kfree(ssk->rx_ring.buffer);
769 ssk->rx_ring.buffer = NULL;
772 if (ssk->rx_ring.cq) {
773 if (ib_destroy_cq(ssk->rx_ring.cq)) {
775 ssk->rx_ring.cq);
777 ssk->rx_ring.cq = NULL;
781 WARN_ON(ring_head(ssk->rx_ring) != ring_tail(ssk->rx_ring));