Lines Matching full:timeline

30 	u64 timeline;  member
156 /* Make the cached node available for reuse with any timeline */ in __active_retire()
157 ref->cache->timeline = 0; /* needs cmpxchg(u64) */ in __active_retire()
169 /* Finally free the discarded timeline tree */ in __active_retire()
236 GEM_BUG_ON(idx == 0); /* 0 is the unordered timeline, rsvd for cache */ in __active_lookup()
239 * We track the most recently used timeline to skip a rbtree search in __active_lookup()
243 * current timeline. in __active_lookup()
247 u64 cached = READ_ONCE(it->timeline); in __active_lookup()
254 * An unclaimed cache [.timeline=0] can only be claimed once. in __active_lookup()
258 * idx. If, and only if, the timeline is currently zero is it in __active_lookup()
263 if (!cached && !cmpxchg64(&it->timeline, 0, idx)) in __active_lookup()
274 if (it->timeline < idx) { in __active_lookup()
276 } else if (it->timeline > idx) { in __active_lookup()
307 if (node->timeline == idx) in active_instance()
310 if (node->timeline < idx) in active_instance()
326 node->timeline = idx; in active_instance()
373 GEM_BUG_ON(node->timeline != engine->kernel_context->timeline->fence_context); in ____active_del_barrier()
377 * outside of the kernel_context timeline mutex and so someone in ____active_del_barrier()
420 * This request is on the kernel_context timeline, and so in replace_barrier()
485 /* We expect the caller to manage the exclusive timeline ordering */ in i915_active_set_exclusive()
771 return node->timeline == idx && !i915_active_fence_isset(&node->base); in is_idle_barrier()
805 if (node->timeline < idx) in reuse_idle_barrier()
814 * any idle-barriers on this timeline that we missed, or just use in reuse_idle_barrier()
822 if (node->timeline > idx) in reuse_idle_barrier()
825 if (node->timeline < idx) in reuse_idle_barrier()
833 * kernel_context timeline, which notably we do not hold in reuse_idle_barrier()
878 u64 idx = engine->kernel_context->timeline->fence_context; in i915_active_acquire_preallocate_barrier()
892 node->timeline = idx; in i915_active_acquire_preallocate_barrier()
967 if (it->timeline < node->timeline) in i915_active_acquire_barrier()
995 GEM_BUG_ON(i915_request_timeline(rq) != engine->kernel_context->timeline); in i915_request_add_active_barriers()
1015 * __i915_active_fence_set: Update the last active fence along its timeline
1019 * Records the new @fence as the last active fence along its timeline in
1024 * fences within the timeline of the i915_active_fence is understood, it
1063 * Note the strong ordering of the timeline also provides consistent in __i915_active_fence_set()
1098 * and we know that we are first on the timeline. If it is still in __i915_active_fence_set()
1124 /* Must maintain timeline ordering wrt previous active requests */ in i915_active_fence_set()