Lines Matching defs:fence
23 * "fence registers" but pipeline synchronisation objects ala GL_ARB_sync.
32 * In order to use a fence, the object must track the fence it needs to
36 * complete, or waiting for the last GPU user of a "fence register". The
40 * track the most recent fence request, typically this is done as part of
50 void i915_active_noop(struct dma_fence *fence, struct dma_fence_cb *cb);
55 * @fence - initial fence to track, can be NULL
60 * an activity tracker, that is for tracking the last known active fence
61 * associated with it. When the last fence becomes idle, when it is retired
66 void *fence,
69 RCU_INIT_POINTER(active->fence, fence);
78 struct dma_fence *fence);
81 * i915_active_fence_set - updates the tracker to watch the current fence
93 * i915_active_fence_get - return a reference to the active fence
96 * i915_active_fence_get() returns a reference to the active fence,
105 struct dma_fence *fence;
108 fence = dma_fence_get_rcu_safe(&active->fence);
111 return fence;
119 * assigned to a fence. Due to the lazy retiring, that fence may be idle
125 return rcu_access_pointer(active->fence);
132 * signals a fence upon completion. struct i915_request combines the
133 * command submission, scheduling and fence signaling roles. If we want to see
134 * if a particular task is complete, we need to grab the fence (struct
146 * composite shared-fence, and is updated as new work is submitted to the task,
170 struct dma_fence *fence);
175 return i915_active_ref(ref, i915_request_timeline(rq), &rq->fence);
182 return rcu_access_pointer(ref->excl.fence);