Lines Matching defs:timeline

30 	u64 timeline __aligned(8);
156 /* Make the cached node available for reuse with any timeline */
157 ref->cache->timeline = 0; /* needs cmpxchg(u64) */
169 /* Finally free the discarded timeline tree */
240 GEM_BUG_ON(idx == 0); /* 0 is the unordered timeline, rsvd for cache */
243 * We track the most recently used timeline to skip a rbtree search
247 * current timeline.
251 u64 cached = READ_ONCE(it->timeline);
258 * An unclaimed cache [.timeline=0] can only be claimed once.
262 * idx. If, and only if, the timeline is currently zero is it
267 if (!cached && !cmpxchg64(&it->timeline, 0, idx))
278 if (it->timeline < idx) {
280 } else if (it->timeline > idx) {
311 if (node->timeline == idx)
314 if (node->timeline < idx)
334 node->timeline = idx;
385 GEM_BUG_ON(node->timeline != engine->kernel_context->timeline->fence_context);
389 * outside of the kernel_context timeline mutex and so someone
432 * This request is on the kernel_context timeline, and so
497 /* We expect the caller to manage the exclusive timeline ordering */
787 return node->timeline == idx && !i915_active_fence_isset(&node->base);
821 if (node->timeline < idx)
830 * any idle-barriers on this timeline that we missed, or just use
838 if (node->timeline > idx)
841 if (node->timeline < idx)
849 * kernel_context timeline, which notably we do not hold
894 u64 idx = engine->kernel_context->timeline->fence_context;
912 node->timeline = idx;
991 if (it->timeline < node->timeline)
1019 GEM_BUG_ON(i915_request_timeline(rq) != engine->kernel_context->timeline);
1039 * __i915_active_fence_set: Update the last active fence along its timeline
1043 * Records the new @fence as the last active fence along its timeline in
1048 * fences within the timeline of the i915_active_fence is understood, it
1087 * Note the strong ordering of the timeline also provides consistent
1122 * and we know that we are first on the timeline. If it is still
1148 /* Must maintain timeline ordering wrt previous active requests */