• Home
  • Raw
  • Download

Lines Matching refs:dma_queue

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()
127 int64_t __gxio_dma_queue_wait_for_credits(__gxio_dma_queue_t *dma_queue, in __gxio_dma_queue_wait_for_credits() argument
140 __gxio_dma_queue_update_credits(dma_queue); in __gxio_dma_queue_wait_for_credits()
141 old = __insn_fetchaddgez(&dma_queue->credits_and_next_index, in __gxio_dma_queue_wait_for_credits()
154 int64_t __gxio_dma_queue_reserve_aux(__gxio_dma_queue_t *dma_queue, in __gxio_dma_queue_reserve_aux() argument
157 return __gxio_dma_queue_reserve(dma_queue, num, wait != 0, true); in __gxio_dma_queue_reserve_aux()
162 int __gxio_dma_queue_is_complete(__gxio_dma_queue_t *dma_queue, in __gxio_dma_queue_is_complete() argument
166 if (ACCESS_ONCE(dma_queue->hw_complete_count) > in __gxio_dma_queue_is_complete()
170 __gxio_dma_queue_update_credits(dma_queue); in __gxio_dma_queue_is_complete()
173 return ACCESS_ONCE(dma_queue->hw_complete_count) > completion_slot; in __gxio_dma_queue_is_complete()