Home
last modified time | relevance | path

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

/freebsd/sys/dev/xdma/
H A Dxdma_sg.c99 xdma = xchan->xdma; in xchan_bufs_alloc_reserved()
138 xdma = xchan->xdma; in xchan_bufs_alloc_busdma()
148 xchan->maxsegsize * xchan->maxnsegs, /* maxsize */ in xchan_bufs_alloc_busdma()
184 xdma = xchan->xdma; in xchan_bufs_alloc()
255 xdma = xchan->xdma; in xdma_prep_sg()
306 XCHAN_LOCK(xchan); in xdma_prep_sg()
315 XCHAN_UNLOCK(xchan); in xdma_prep_sg()
403 xdma = xchan->xdma; in _xdma_load_data_busdma()
576 xdma = xchan->xdma; in xdma_process()
641 xdma = xchan->xdma; in xdma_queue_submit_sg()
[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
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
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
219 #define QUEUE_BANK_LOCK(xchan) mtx_lock(&(xchan)->mtx_bank_lock) argument
220 #define QUEUE_BANK_UNLOCK(xchan) mtx_unlock(&(xchan)->mtx_bank_lock) argument
224 #define QUEUE_PROC_LOCK(xchan) mtx_lock(&(xchan)->mtx_proc_lock) argument
[all …]
H A Dxdma.c92 xio = &xchan->xio; in xdma_get_iommu_fdt()
115 xchan->xdma = xdma; in xdma_channel_alloc()
123 xchan->caps = caps; in xdma_channel_alloc()
158 return (xchan); in xdma_channel_alloc()
167 xdma = xchan->xdma; in xdma_channel_free()
212 xdma = xchan->xdma; in xdma_setup_intr()
230 XCHAN_LOCK(xchan); in xdma_setup_intr()
245 xdma = xchan->xdma; in xdma_teardown_intr()
283 xdma = xchan->xdma; in xdma_request()
287 XCHAN_LOCK(xchan); in xdma_request()
[all …]
H A Dxdma_bank.c46 xchan_bank_init(xdma_channel_t *xchan) in xchan_bank_init() argument
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()
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()
82 QUEUE_BANK_UNLOCK(xchan); in xchan_bank_get()
91 QUEUE_BANK_LOCK(xchan); in xchan_bank_put()
[all …]
H A Dxdma_queue.c52 QUEUE_OUT_LOCK(xchan); in xdma_dequeue()
57 QUEUE_OUT_UNLOCK(xchan); in xdma_dequeue()
66 xchan_bank_put(xchan, xr); in xdma_dequeue()
80 xr = xchan_bank_get(xchan); in xdma_enqueue()
96 QUEUE_IN_LOCK(xchan); in xdma_enqueue()
98 QUEUE_IN_UNLOCK(xchan); in xdma_enqueue()
104 xdma_queue_submit(xdma_channel_t *xchan) in xdma_queue_submit() argument
112 XCHAN_LOCK(xchan); in xdma_queue_submit()
114 if (xchan->flags & XCHAN_TYPE_SG) in xdma_queue_submit()
115 ret = xdma_queue_submit_sg(xchan); in xdma_queue_submit()
[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()
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()
103 QUEUE_IN_UNLOCK(xchan); 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()
318 struct xdma_channel *xchan; in axidma_desc_free() local
320 xchan = chan->xchan; in axidma_desc_free()
390 xdma = xchan->xdma; in axidma_channel_alloc()
397 chan->xchan = xchan; in axidma_channel_alloc()
468 xdma = xchan->xdma; in axidma_channel_submit_sg()
[all …]
/freebsd/sys/dev/altera/softdma/
H A Dsoftdma.c88 xdma_channel_t *xchan; member
489 struct xdma_channel *xchan; in softdma_process_descriptors() local
497 xchan = chan->xchan; in softdma_process_descriptors()
527 xchan_seg_done(xchan, &st); in softdma_process_descriptors()
571 xdma_callback(chan->xchan, &status); in softdma_worker()
614 chan->xchan = xchan; in softdma_channel_alloc()
615 xchan->chan = (void *)chan; in softdma_channel_alloc()
616 xchan->caps |= XCHAN_CAP_NOSEG; in softdma_channel_alloc()
645 chan = (struct softdma_channel *)xchan->chan; in softdma_channel_free()
685 ret = softdma_desc_alloc(xchan); in softdma_channel_prep_sg()
[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()
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()
406 chan = (struct pl330_channel *)xchan->chan; in pl330_channel_free()
418 chan = (struct pl330_channel *)xchan->chan; in pl330_channel_capacity()
[all …]
/freebsd/sys/dev/altera/msgdma/
H A Dmsgdma.c79 xdma_channel_t *xchan; member
142 struct xdma_channel *xchan; in msgdma_intr() local
148 xchan = chan->xchan; in msgdma_intr()
172 xchan_seg_done(xchan, &st); in msgdma_intr()
183 xdma_callback(chan->xchan, &status); in msgdma_intr()
412 chan->xchan = xchan; in msgdma_channel_alloc()
413 xchan->chan = (void *)chan; in msgdma_channel_alloc()
414 if ((xchan->caps & XCHAN_CAP_IOMMU) == 0) in msgdma_channel_alloc()
415 xchan->caps |= XCHAN_CAP_BUSDMA; in msgdma_channel_alloc()
439 chan = (struct msgdma_channel *)xchan->chan; in msgdma_channel_free()
[all …]
/freebsd/sys/dev/hyperv/vmbus/
H A Dvmbus_chan.c794 struct vmbus_channel *chan = xchan; in vmbus_chan_clrchmap_task()
819 vmbus_chan_poll_cancel_intq(xchan); in vmbus_chan_poll_cancel_task()
1368 struct vmbus_channel *chan = xchan; in vmbus_chan_task()
1404 struct vmbus_channel *chan = xchan; in vmbus_chan_task_nobatch()
1412 vmbus_chan_poll_timeout(void *xchan) in vmbus_chan_poll_timeout() argument
1414 struct vmbus_channel *chan = xchan; in vmbus_chan_poll_timeout()
1424 struct vmbus_channel *chan = xchan; in vmbus_chan_poll_task()
1523 struct vmbus_channel *chan = xchan; in vmbus_chan_polldis_task()
2038 struct vmbus_channel *chan = xchan; in vmbus_prichan_detach_task()
2056 struct vmbus_channel *chan = xchan; in vmbus_subchan_detach_task()
[all …]