Lines Matching refs:seq

61 static void amdgpu_fence_write(struct amdgpu_ring *ring, u32 seq)  in amdgpu_fence_write()  argument
66 *drv->cpu_addr = cpu_to_le32(seq); in amdgpu_fence_write()
80 u32 seq = 0; in amdgpu_fence_read() local
83 seq = le32_to_cpu(*drv->cpu_addr); in amdgpu_fence_read()
85 seq = lower_32_bits(atomic64_read(&drv->last_seq)); in amdgpu_fence_read()
87 return seq; in amdgpu_fence_read()
110 (*fence)->seq = ++ring->fence_drv.sync_seq[ring->idx]; in amdgpu_fence_emit()
116 (*fence)->seq); in amdgpu_fence_emit()
118 (*fence)->seq, in amdgpu_fence_emit()
147 uint64_t seq, last_seq, last_emitted; in amdgpu_fence_activity() local
175 seq = amdgpu_fence_read(ring); in amdgpu_fence_activity()
176 seq |= last_seq & 0xffffffff00000000LL; in amdgpu_fence_activity()
177 if (seq < last_seq) { in amdgpu_fence_activity()
178 seq &= 0xffffffff; in amdgpu_fence_activity()
179 seq |= last_emitted & 0xffffffff00000000LL; in amdgpu_fence_activity()
182 if (seq <= last_seq || seq > last_emitted) { in amdgpu_fence_activity()
190 last_seq = seq; in amdgpu_fence_activity()
199 } while (atomic64_xchg(&ring->fence_drv.last_seq, seq) > seq); in amdgpu_fence_activity()
201 if (seq < last_emitted) in amdgpu_fence_activity()
249 static bool amdgpu_fence_seq_signaled(struct amdgpu_ring *ring, u64 seq) in amdgpu_fence_seq_signaled() argument
251 if (atomic64_read(&ring->fence_drv.last_seq) >= seq) in amdgpu_fence_seq_signaled()
256 if (atomic64_read(&ring->fence_drv.last_seq) >= seq) in amdgpu_fence_seq_signaled()
272 static int amdgpu_fence_ring_wait_seq(struct amdgpu_ring *ring, uint64_t seq) in amdgpu_fence_ring_wait_seq() argument
277 if (seq > ring->fence_drv.sync_seq[ring->idx]) in amdgpu_fence_ring_wait_seq()
280 if (atomic64_read(&ring->fence_drv.last_seq) >= seq) in amdgpu_fence_ring_wait_seq()
285 (signaled = amdgpu_fence_seq_signaled(ring, seq)))); in amdgpu_fence_ring_wait_seq()
305 uint64_t seq = atomic64_read(&ring->fence_drv.last_seq) + 1ULL; in amdgpu_fence_wait_next() local
307 if (seq >= ring->fence_drv.sync_seq[ring->idx]) in amdgpu_fence_wait_next()
310 return amdgpu_fence_ring_wait_seq(ring, seq); in amdgpu_fence_wait_next()
325 uint64_t seq = ring->fence_drv.sync_seq[ring->idx]; in amdgpu_fence_wait_empty() local
327 if (!seq) in amdgpu_fence_wait_empty()
330 return amdgpu_fence_ring_wait_seq(ring, seq); in amdgpu_fence_wait_empty()
383 if (fence->seq <= fdrv->sync_seq[fence->ring->idx]) in amdgpu_fence_need_sync()
686 if (atomic64_read(&ring->fence_drv.last_seq) >= fence->seq) in amdgpu_fence_is_signaled()
691 if (atomic64_read(&ring->fence_drv.last_seq) >= fence->seq) in amdgpu_fence_is_signaled()
708 u64 seq; in amdgpu_fence_check_signaled() local
718 seq = atomic64_read(&fence->ring->fence_drv.last_seq); in amdgpu_fence_check_signaled()
719 if (seq >= fence->seq) { in amdgpu_fence_check_signaled()
746 if (atomic64_read(&ring->fence_drv.last_seq) >= fence->seq) in amdgpu_fence_enable_signaling()