Lines Matching refs:xr
55 struct xdma_request *xr; in xdma_dequeue_mbuf() local
59 TAILQ_FOREACH_SAFE(xr, &xchan->queue_out, xr_next, xr_tmp) { in xdma_dequeue_mbuf()
60 TAILQ_REMOVE(&xchan->queue_out, xr, xr_next); in xdma_dequeue_mbuf()
65 if (xr == NULL) in xdma_dequeue_mbuf()
68 *mp = xr->m; in xdma_dequeue_mbuf()
69 status->error = xr->status.error; in xdma_dequeue_mbuf()
70 status->transferred = xr->status.transferred; in xdma_dequeue_mbuf()
72 xchan_bank_put(xchan, xr); in xdma_dequeue_mbuf()
82 struct xdma_request *xr; in xdma_enqueue_mbuf() local
84 xr = xchan_bank_get(xchan); in xdma_enqueue_mbuf()
85 if (xr == NULL) in xdma_enqueue_mbuf()
88 xr->direction = dir; in xdma_enqueue_mbuf()
89 xr->m = *mp; in xdma_enqueue_mbuf()
90 xr->req_type = XR_TYPE_MBUF; in xdma_enqueue_mbuf()
92 xr->dst_addr = addr; in xdma_enqueue_mbuf()
93 xr->src_addr = 0; in xdma_enqueue_mbuf()
95 xr->src_addr = addr; in xdma_enqueue_mbuf()
96 xr->dst_addr = 0; in xdma_enqueue_mbuf()
98 xr->src_width = src_width; in xdma_enqueue_mbuf()
99 xr->dst_width = dst_width; in xdma_enqueue_mbuf()
102 TAILQ_INSERT_TAIL(&xchan->queue_in, xr, xr_next); in xdma_enqueue_mbuf()
123 xdma_mbuf_defrag(xdma_channel_t *xchan, struct xdma_request *xr) in xdma_mbuf_defrag() argument
131 c = xdma_mbuf_chain_count(xr->m); in xdma_mbuf_defrag()
135 if ((m = m_defrag(xr->m, M_NOWAIT)) == NULL) { in xdma_mbuf_defrag()
142 xr->m = m; in xdma_mbuf_defrag()