Home
last modified time | relevance | path

Searched refs:dma_queue (Results 1 – 6 of 6) sorted by relevance

/arch/tile/gxio/
Ddma_queue.c50 void __gxio_dma_queue_init(__gxio_dma_queue_t *dma_queue, in __gxio_dma_queue_init() argument
59 memset(dma_queue, 0, sizeof(*dma_queue)); in __gxio_dma_queue_init()
61 dma_queue->post_region_addr = post_region_addr; in __gxio_dma_queue_init()
62 dma_queue->hw_complete_count = 0; in __gxio_dma_queue_init()
63 dma_queue->credits_and_next_index = credits << DMA_QUEUE_CREDIT_SHIFT; in __gxio_dma_queue_init()
68 void __gxio_dma_queue_update_credits(__gxio_dma_queue_t *dma_queue) in __gxio_dma_queue_update_credits() argument
81 cmpxchg(&dma_queue->hw_complete_count, in __gxio_dma_queue_update_credits()
88 val.word = __gxio_mmio_read(dma_queue->post_region_addr); in __gxio_dma_queue_update_credits()
107 if (cmpxchg(&dma_queue->hw_complete_count, in __gxio_dma_queue_update_credits()
116 __insn_fetchadd(&dma_queue->credits_and_next_index, in __gxio_dma_queue_update_credits()
[all …]
DMakefile6 obj-$(CONFIG_TILE_GXIO_DMA) += dma_queue.o
Dmpipe.c418 __gxio_dma_queue_init(&equeue->dma_queue, in gxio_mpipe_equeue_init()
/arch/tile/include/gxio/
Ddma_queue.h56 extern void __gxio_dma_queue_init(__gxio_dma_queue_t *dma_queue,
66 extern void __gxio_dma_queue_update_credits(__gxio_dma_queue_t *dma_queue);
69 extern int64_t __gxio_dma_queue_wait_for_credits(__gxio_dma_queue_t *dma_queue,
76 static inline int64_t __gxio_dma_queue_reserve(__gxio_dma_queue_t *dma_queue, in __gxio_dma_queue_reserve() argument
90 __insn_fetchaddgez(&dma_queue->credits_and_next_index, in __gxio_dma_queue_reserve()
98 __gxio_dma_queue_update_credits(dma_queue); in __gxio_dma_queue_reserve()
99 old = __insn_fetchaddgez(&dma_queue->credits_and_next_index, in __gxio_dma_queue_reserve()
104 (dma_queue, modifier); in __gxio_dma_queue_reserve()
124 complete = ACCESS_ONCE(dma_queue->hw_complete_count); in __gxio_dma_queue_reserve()
136 __gxio_dma_queue_update_credits(dma_queue); in __gxio_dma_queue_reserve()
[all …]
Dmpipe.h1317 __gxio_dma_queue_t dma_queue; member
1380 return __gxio_dma_queue_reserve_aux(&equeue->dma_queue, num, true); in gxio_mpipe_equeue_reserve()
1398 return __gxio_dma_queue_reserve_aux(&equeue->dma_queue, num, false); in gxio_mpipe_equeue_try_reserve()
1416 return __gxio_dma_queue_reserve(&equeue->dma_queue, num, true, false); in gxio_mpipe_equeue_reserve_fast()
1435 return __gxio_dma_queue_reserve(&equeue->dma_queue, num, false, false); in gxio_mpipe_equeue_try_reserve_fast()
1534 __gxio_mmio_write(equeue->dma_queue.post_region_addr, val.word); in gxio_mpipe_equeue_flush()
1554 return __gxio_dma_queue_is_complete(&equeue->dma_queue, in gxio_mpipe_equeue_is_complete()
Dtrio.h193 __gxio_dma_queue_t dma_queue; member