Lines Matching full:tail
25 void intel_ring_reset(struct intel_ring *ring, u32 tail);
90 assert_ring_tail_valid(const struct intel_ring *ring, unsigned int tail) in assert_ring_tail_valid() argument
94 GEM_BUG_ON(!intel_ring_offset_valid(ring, tail)); in assert_ring_tail_valid()
101 * "If the Ring Buffer Head Pointer and the Tail Pointer are on the in assert_ring_tail_valid()
102 * same cacheline, the Head Pointer must not be greater than the Tail in assert_ring_tail_valid()
111 GEM_BUG_ON(cacheline(tail) == cacheline(head) && tail < head); in assert_ring_tail_valid()
116 intel_ring_set_tail(struct intel_ring *ring, unsigned int tail) in intel_ring_set_tail() argument
118 /* Whilst writes to the tail are strictly order, there is no in intel_ring_set_tail()
119 * serialisation between readers and the writers. The tail may be in intel_ring_set_tail()
124 assert_ring_tail_valid(ring, tail); in intel_ring_set_tail()
125 ring->tail = tail; in intel_ring_set_tail()
126 return tail; in intel_ring_set_tail()
130 __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size) in __intel_ring_space() argument
133 * "If the Ring Buffer Head Pointer and the Tail Pointer are on the in __intel_ring_space()
134 * same cacheline, the Head Pointer must not be greater than the Tail in __intel_ring_space()
138 return (head - tail - CACHELINE_BYTES) & (size - 1); in __intel_ring_space()