Lines Matching full:tail
26 void intel_ring_reset(struct intel_ring *ring, u32 tail);
91 assert_ring_tail_valid(const struct intel_ring *ring, unsigned int tail) in assert_ring_tail_valid() argument
95 GEM_BUG_ON(!intel_ring_offset_valid(ring, tail)); in assert_ring_tail_valid()
102 * "If the Ring Buffer Head Pointer and the Tail Pointer are on the in assert_ring_tail_valid()
103 * same cacheline, the Head Pointer must not be greater than the Tail in assert_ring_tail_valid()
112 GEM_BUG_ON(cacheline(tail) == cacheline(head) && tail < head); in assert_ring_tail_valid()
117 intel_ring_set_tail(struct intel_ring *ring, unsigned int tail) in intel_ring_set_tail() argument
119 /* Whilst writes to the tail are strictly order, there is no in intel_ring_set_tail()
120 * serialisation between readers and the writers. The tail may be in intel_ring_set_tail()
125 assert_ring_tail_valid(ring, tail); in intel_ring_set_tail()
126 ring->tail = tail; in intel_ring_set_tail()
127 return tail; in intel_ring_set_tail()
131 __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size) in __intel_ring_space() argument
134 * "If the Ring Buffer Head Pointer and the Tail Pointer are on the in __intel_ring_space()
135 * same cacheline, the Head Pointer must not be greater than the Tail in __intel_ring_space()
139 return (head - tail - CACHELINE_BYTES) & (size - 1); in __intel_ring_space()