Home
last modified time | relevance | path

Searched refs:xchan (Results 1 – 14 of 14) sorted by relevance

/freebsd/sys/dev/xdma/
H A Dxdma_sg.c68 xchan_bufs_free_reserved(xdma_channel_t *xchan) in xchan_bufs_free_reserved() argument
74 for (i = 0; i < xchan->xr_num; i++) { in xchan_bufs_free_reserved()
75 xr = &xchan->xr_mem[i]; in xchan_bufs_free_reserved()
83 vmem_free(xchan->vmem, xr->buf.paddr, size); in xchan_bufs_free_reserved()
91 xchan_bufs_alloc_reserved(xdma_channel_t *xchan) in xchan_bufs_alloc_reserved() argument
99 xdma = xchan->xdma; in xchan_bufs_alloc_reserved()
101 if (xchan->vmem == NULL) in xchan_bufs_alloc_reserved()
104 for (i = 0; i < xchan->xr_num; i++) { in xchan_bufs_alloc_reserved()
105 xr = &xchan->xr_mem[i]; in xchan_bufs_alloc_reserved()
106 size = round_page(xchan->maxsegsize); in xchan_bufs_alloc_reserved()
[all …]
H A Dxdma.h204 #define XCHAN_LOCK(xchan) mtx_lock(&(xchan)->mtx_lock) argument
205 #define XCHAN_UNLOCK(xchan) mtx_unlock(&(xchan)->mtx_lock) argument
206 #define XCHAN_ASSERT_LOCKED(xchan) \ argument
207 mtx_assert(&(xchan)->mtx_lock, MA_OWNED)
209 #define QUEUE_IN_LOCK(xchan) mtx_lock(&(xchan)->mtx_qin_lock) argument
210 #define QUEUE_IN_UNLOCK(xchan) mtx_unlock(&(xchan)->mtx_qin_lock) argument
211 #define QUEUE_IN_ASSERT_LOCKED(xchan) \ argument
212 mtx_assert(&(xchan)->mtx_qin_lock, MA_OWNED)
214 #define QUEUE_OUT_LOCK(xchan) mtx_lock(&(xchan)->mtx_qout_lock) argument
215 #define QUEUE_OUT_UNLOCK(xchan) mtx_unlock(&(xchan)->mtx_qout_lock) argument
[all …]
H A Dxdma.c74 xdma_get_iommu_fdt(xdma_controller_t *xdma, xdma_channel_t *xchan) in xdma_get_iommu_fdt() argument
92 xio = &xchan->xio; in xdma_get_iommu_fdt()
111 xdma_channel_t *xchan; in xdma_channel_alloc() local
114 xchan = malloc(sizeof(xdma_channel_t), M_XDMA, M_WAITOK | M_ZERO); in xdma_channel_alloc()
115 xchan->xdma = xdma; in xdma_channel_alloc()
119 if (xdma_get_iommu_fdt(xdma, xchan)) in xdma_channel_alloc()
123 xchan->caps = caps; in xdma_channel_alloc()
128 ret = XDMA_CHANNEL_ALLOC(xdma->dma_dev, xchan); in xdma_channel_alloc()
133 free(xchan, M_XDMA); in xdma_channel_alloc()
138 TAILQ_INIT(&xchan->ie_handlers); in xdma_channel_alloc()
[all …]
H A Dxdma_bank.c46 xchan_bank_init(xdma_channel_t *xchan) in xchan_bank_init() argument
51 KASSERT(xchan->xdma != NULL, ("xdma is NULL")); in xchan_bank_init()
53 xchan->xr_mem = malloc(sizeof(struct xdma_request) * xchan->xr_num, in xchan_bank_init()
56 for (i = 0; i < xchan->xr_num; i++) { in xchan_bank_init()
57 xr = &xchan->xr_mem[i]; in xchan_bank_init()
58 TAILQ_INSERT_TAIL(&xchan->bank, xr, xr_next); in xchan_bank_init()
63 xchan_bank_free(xdma_channel_t *xchan) in xchan_bank_free() argument
66 free(xchan->xr_mem, M_XDMA); in xchan_bank_free()
72 xchan_bank_get(xdma_channel_t *xchan) in xchan_bank_get() argument
77 QUEUE_BANK_LOCK(xchan); in xchan_bank_get()
[all …]
H A Dxdma_queue.c46 xdma_dequeue(xdma_channel_t *xchan, void **user, in xdma_dequeue() argument
52 QUEUE_OUT_LOCK(xchan); in xdma_dequeue()
53 TAILQ_FOREACH_SAFE(xr, &xchan->queue_out, xr_next, xr_tmp) { in xdma_dequeue()
54 TAILQ_REMOVE(&xchan->queue_out, xr, xr_next); in xdma_dequeue()
57 QUEUE_OUT_UNLOCK(xchan); in xdma_dequeue()
66 xchan_bank_put(xchan, xr); in xdma_dequeue()
72 xdma_enqueue(xdma_channel_t *xchan, uintptr_t src, uintptr_t dst, in xdma_enqueue() argument
78 KASSERT(xchan->xdma != NULL, ("xdma is NULL")); in xdma_enqueue()
80 xr = xchan_bank_get(xchan); in xdma_enqueue()
96 QUEUE_IN_LOCK(xchan); in xdma_enqueue()
[all …]
H A Dxdma_mbuf.c52 xdma_dequeue_mbuf(xdma_channel_t *xchan, struct mbuf **mp, in xdma_dequeue_mbuf() argument
58 QUEUE_OUT_LOCK(xchan); in xdma_dequeue_mbuf()
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()
63 QUEUE_OUT_UNLOCK(xchan); in xdma_dequeue_mbuf()
72 xchan_bank_put(xchan, xr); in xdma_dequeue_mbuf()
78 xdma_enqueue_mbuf(xdma_channel_t *xchan, struct mbuf **mp, in xdma_enqueue_mbuf() argument
84 xr = xchan_bank_get(xchan); in xdma_enqueue_mbuf()
101 QUEUE_IN_LOCK(xchan); in xdma_enqueue_mbuf()
102 TAILQ_INSERT_TAIL(&xchan->queue_in, xr, xr_next); in xdma_enqueue_mbuf()
[all …]
H A Dxdma_bio.c46 xdma_dequeue_bio(xdma_channel_t *xchan, struct bio **bp, in xdma_dequeue_bio() argument
52 QUEUE_OUT_LOCK(xchan); in xdma_dequeue_bio()
53 TAILQ_FOREACH_SAFE(xr, &xchan->queue_out, xr_next, xr_tmp) { in xdma_dequeue_bio()
54 TAILQ_REMOVE(&xchan->queue_out, xr, xr_next); in xdma_dequeue_bio()
57 QUEUE_OUT_UNLOCK(xchan); in xdma_dequeue_bio()
67 xchan_bank_put(xchan, xr); in xdma_dequeue_bio()
73 xdma_enqueue_bio(xdma_channel_t *xchan, struct bio **bp, in xdma_enqueue_bio() argument
79 xr = xchan_bank_get(xchan); in xdma_enqueue_bio()
96 QUEUE_IN_LOCK(xchan); in xdma_enqueue_bio()
97 TAILQ_INSERT_TAIL(&xchan->queue_in, xr, xr_next); in xdma_enqueue_bio()
[all …]
H A Dxdma_sglist.c44 xchan_sglist_alloc(xdma_channel_t *xchan) in xchan_sglist_alloc() argument
48 if (xchan->flags & XCHAN_SGLIST_ALLOCATED) in xchan_sglist_alloc()
52 xchan->sg = malloc(sz, M_XDMA, M_WAITOK | M_ZERO); in xchan_sglist_alloc()
53 xchan->flags |= XCHAN_SGLIST_ALLOCATED; in xchan_sglist_alloc()
59 xchan_sglist_free(xdma_channel_t *xchan) in xchan_sglist_free() argument
62 if (xchan->flags & XCHAN_SGLIST_ALLOCATED) in xchan_sglist_free()
63 free(xchan->sg, M_XDMA); in xchan_sglist_free()
65 xchan->flags &= ~XCHAN_SGLIST_ALLOCATED; in xchan_sglist_free()
H A Dxdma_if.m53 struct xdma_channel *xchan;
62 struct xdma_channel *xchan;
71 struct xdma_channel *xchan;
80 struct xdma_channel *xchan;
102 struct xdma_channel *xchan;
110 struct xdma_channel *xchan;
118 struct xdma_channel *xchan;
H A Dxdma_iommu.c62 xdma_iommu_remove_entry(xdma_channel_t *xchan, vm_offset_t va) in xdma_iommu_remove_entry() argument
66 xio = &xchan->xio; in xdma_iommu_remove_entry()
100 xdma_iommu_add_entry(xdma_channel_t *xchan, vm_offset_t *va, in xdma_iommu_add_entry() argument
107 xio = &xchan->xio; in xdma_iommu_add_entry()
H A Dxdma_fdt_test.c67 xdma_channel_t *xchan; member
210 sc->xchan = xdma_channel_alloc(sc->xdma); in xdmatest_test()
211 if (sc->xchan == NULL) { in xdmatest_test()
217 err = xdma_setup_intr(sc->xchan, 0, xdmatest_intr, sc, &sc->ih); in xdmatest_test()
242 err = xdma_request(sc->xchan, sc->src_phys, sc->dst_phys, sc->len); in xdmatest_test()
249 xdma_begin(sc->xchan); in xdmatest_test()
272 err = xdma_channel_free(sc->xchan); in xdmatest_verify()
/freebsd/sys/dev/xilinx/
H A Daxidma.c84 xdma_channel_t *xchan; member
145 struct xdma_channel *xchan; in axidma_intr() local
150 xchan = chan->xchan; in axidma_intr()
151 xdma = xchan->xdma; in axidma_intr()
178 xchan_seg_done(xchan, &st); in axidma_intr()
187 xdma_callback(chan->xchan, &status); in axidma_intr()
318 struct xdma_channel *xchan; in axidma_desc_free() local
320 xchan = chan->xchan; in axidma_desc_free()
327 vmem_free(xchan->vmem, chan->mem_paddr, chan->mem_size); in axidma_desc_free()
333 axidma_desc_alloc(struct axidma_softc *sc, struct xdma_channel *xchan, in axidma_desc_alloc() argument
[all …]
/freebsd/sys/dev/xdma/controller/
H A Dpl330.c85 xdma_channel_t *xchan; member
156 struct xdma_channel *xchan; in pl330_intr() local
177 xchan = chan->xchan; in pl330_intr()
181 xchan_seg_done(xchan, &st); in pl330_intr()
190 xdma_callback(chan->xchan, &status); in pl330_intr()
371 pl330_channel_alloc(device_t dev, struct xdma_channel *xchan) in pl330_channel_alloc() argument
382 chan->xchan = xchan; in pl330_channel_alloc()
383 xchan->chan = (void *)chan; in pl330_channel_alloc()
384 xchan->caps |= XCHAN_CAP_BUSDMA; in pl330_channel_alloc()
402 pl330_channel_free(device_t dev, struct xdma_channel *xchan) in pl330_channel_free() argument
[all …]
/freebsd/sys/dev/hyperv/vmbus/
H A Dvmbus_chan.c790 vmbus_chan_clrchmap_task(void *xchan, int pending __unused)
792 struct vmbus_channel *chan = xchan; in vmbus_chan_clrchmap_task() argument
814 vmbus_chan_poll_cancel_task(void *xchan, int pending __unused)
817 vmbus_chan_poll_cancel_intq(xchan); in vmbus_chan_poll_cancel_task()
1364 vmbus_chan_task(void *xchan, int pending __unused)
1366 struct vmbus_channel *chan = xchan; in vmbus_chan_task() argument
1400 vmbus_chan_task_nobatch(void *xchan, int pending __unused)
1402 struct vmbus_channel *chan = xchan; in vmbus_chan_task_nobatch() argument
1410 vmbus_chan_poll_timeout(void *xchan)
1412 struct vmbus_channel *chan = xchan; in vmbus_chan_poll_timeout() argument
816 vmbus_chan_poll_cancel_task(void * xchan,int pending __unused) vmbus_chan_poll_cancel_task() argument
1422 vmbus_chan_poll_task(void * xchan,int pending __unused) vmbus_chan_poll_task() argument
1521 vmbus_chan_polldis_task(void * xchan,int pending __unused) vmbus_chan_polldis_task() argument
2036 vmbus_prichan_detach_task(void * xchan,int pending __unused) vmbus_prichan_detach_task() argument
2054 vmbus_subchan_detach_task(void * xchan,int pending __unused) vmbus_subchan_detach_task() argument
2077 vmbus_prichan_attach_task(void * xchan,int pending __unused) vmbus_prichan_attach_task() argument
[all...]