Lines Matching refs:tail

10 	volatile uint32_t   tail;  member
289 return dataQueue && (dataQueue->head != dataQueue->tail); in IsDataAvailable()
309 tailOffset = __c11_atomic_load((_Atomic uint32_t *)&dataQueue->tail, __ATOMIC_ACQUIRE); in Peek()
396 tailOffset = __c11_atomic_load((_Atomic uint32_t *)&dataQueue->tail, __ATOMIC_ACQUIRE); in DequeueWithCoalesce()
496 uint32_t tail; in EnqueueWithCoalesce() local
510 tail = __c11_atomic_load((_Atomic uint32_t *)&dataQueue->tail, __ATOMIC_RELAXED); in EnqueueWithCoalesce()
524 if (queueSize < tail || queueSize < head) { in EnqueueWithCoalesce()
528 newTail = tail; in EnqueueWithCoalesce()
529 if (tail >= head) { in EnqueueWithCoalesce()
531 if ((entrySize <= (UINT32_MAX - tail)) && in EnqueueWithCoalesce()
532 ((tail + entrySize) <= queueSize)) { in EnqueueWithCoalesce()
533 entry = (IODataQueueEntry *)((uintptr_t)dataQueue->queue + tail); in EnqueueWithCoalesce()
543 newTail = tail + entrySize; in EnqueueWithCoalesce()
558 if ((queueSize - tail) >= DATA_QUEUE_ENTRY_HEADER_SIZE) { in EnqueueWithCoalesce()
559 ((IODataQueueEntry *)((uintptr_t)dataQueue->queue + tail))->size = dataSize; in EnqueueWithCoalesce()
570 if ((head - tail) > entrySize) { in EnqueueWithCoalesce()
571 entry = (IODataQueueEntry *)((uintptr_t)dataQueue->queue + tail); in EnqueueWithCoalesce()
577 newTail = tail + entrySize; in EnqueueWithCoalesce()
587 __c11_atomic_store((_Atomic uint32_t *)&dataQueue->tail, newTail, __ATOMIC_RELEASE); in EnqueueWithCoalesce()
589 if (tail != head) { in EnqueueWithCoalesce()
603 if (tail == head) { in EnqueueWithCoalesce()
628 uint32_t tail; in CanEnqueueData() local
640 tail = __c11_atomic_load((_Atomic uint32_t *)&dataQueue->tail, __ATOMIC_RELAXED); in CanEnqueueData()
654 if (queueSize < tail || queueSize < head) { in CanEnqueueData()
658 if (tail >= head) { in CanEnqueueData()
659 uint32_t endSpace = queueSize - tail; in CanEnqueueData()
667 uint32_t space = head - tail - 1; in CanEnqueueData()