Lines Matching refs:rx_sa
193 if (ssk->rx_sa && (tx_sa->bytes_acked < tx_sa->bytes_sent)) {
206 ssk->rx_sa &&
282 struct rx_srcavail_state *rx_sa)
285 int copied = rx_sa->used - rx_sa->reported;
287 if (rx_sa->used <= rx_sa->reported)
292 rx_sa->reported += copied;
518 static int sdp_post_rdma_read(struct socket *sk, struct rx_srcavail_state *rx_sa)
528 wr.wr.rdma.rkey = rx_sa->rkey;
531 ssk->tx_ring.rdma_inflight = rx_sa;
533 sge.addr = rx_sa->umem->offset;
534 sge.length = rx_sa->umem->length;
535 sge.lkey = rx_sa->fmr->fmr->lkey;
537 wr.wr.rdma.remote_addr = rx_sa->vaddr + rx_sa->used;
540 rx_sa->busy++;
551 struct rx_srcavail_state *rx_sa = RX_SRCAVAIL_STATE(mb);
562 if (len > rx_sa->len) {
563 sdp_warn(sk, "len:0x%x > rx_sa->len: 0x%x\n", len, rx_sa->len);
565 len = rx_sa->len;
568 rc = sdp_alloc_fmr(sk, iov->iov_base, len, &rx_sa->fmr, &rx_sa->umem);
574 rc = sdp_post_rdma_read(sk, rx_sa);
584 got_srcavail_cancel = ssk->srcavail_cancel_mseq > rx_sa->mseq;
597 copied = rx_sa->umem->length;
600 rx_sa->used += copied;
607 sdp_free_fmr(sk, &rx_sa->fmr, &rx_sa->umem);
612 rx_sa->flags |= RX_SA_ABORTED;
724 if (ssk->rx_sa) {
796 struct rx_srcavail_state *rx_sa = ssk->rx_sa;
798 if (!rx_sa)
801 sdp_free_fmr(sk, &rx_sa->fmr, &rx_sa->umem);
803 ssk->rx_sa = NULL;