Lines Matching full:active
44 * can then perform any action, such as delayed freeing of an active
52 * @active: the active tracker
57 * i915_active_fence_init() prepares the embedded @active struct for use as
58 * an activity tracker, that is for tracking the last known active fence
63 __i915_active_fence_init(struct i915_active_fence *active, in __i915_active_fence_init() argument
67 RCU_INIT_POINTER(active->fence, fence); in __i915_active_fence_init()
68 active->cb.func = fn ?: i915_active_noop; in __i915_active_fence_init()
75 __i915_active_fence_set(struct i915_active_fence *active,
80 * @active: the active tracker
84 * that @rq is busy, the @active reports busy. When that @rq is signaled
85 * (or else retired) the @active tracker is updated to report idle.
88 i915_active_fence_set(struct i915_active_fence *active,
91 * i915_active_fence_get - return a reference to the active fence
92 * @active: the active tracker
94 * i915_active_fence_get() returns a reference to the active fence,
95 * or NULL if the active tracker is idle. The reference is obtained under RCU,
101 i915_active_fence_get(struct i915_active_fence *active) in i915_active_fence_get() argument
106 fence = dma_fence_get_rcu_safe(&active->fence); in i915_active_fence_get()
113 * i915_active_fence_isset - report whether the active tracker is assigned
114 * @active: the active tracker
116 * i915_active_fence_isset() returns true if the active tracker is currently
121 i915_active_fence_isset(const struct i915_active_fence *active) in i915_active_fence_isset() argument
123 return rcu_access_pointer(active->fence); in i915_active_fence_isset()
153 int (*active)(struct i915_active *ref),
160 #define i915_active_init(ref, active, retire, flags) do { \ argument
164 __i915_active_init(ref, active, retire, flags, &__mkey, &__wkey); \
221 struct i915_active *active) in __i915_request_await_exclusive() argument
226 fence = i915_active_fence_get(&active->excl); in __i915_request_await_exclusive()