Searched refs:dma_queue (Results 1 – 6 of 6) sorted by relevance
/arch/tile/gxio/ |
D | dma_queue.c | 50 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 …]
|
D | Makefile | 6 obj-$(CONFIG_TILE_GXIO_DMA) += dma_queue.o
|
D | mpipe.c | 418 __gxio_dma_queue_init(&equeue->dma_queue, in gxio_mpipe_equeue_init()
|
/arch/tile/include/gxio/ |
D | dma_queue.h | 56 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 …]
|
D | mpipe.h | 1317 __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()
|
D | trio.h | 193 __gxio_dma_queue_t dma_queue; member
|