Lines Matching refs:fence
41 void __i915_sw_fence_init(struct i915_sw_fence *fence,
46 #define i915_sw_fence_init(fence, fn) \ argument
50 __i915_sw_fence_init((fence), (fn), #fence, &__key); \
53 #define i915_sw_fence_init(fence, fn) \ argument
54 __i915_sw_fence_init((fence), (fn), NULL, NULL)
57 void i915_sw_fence_reinit(struct i915_sw_fence *fence);
60 void i915_sw_fence_fini(struct i915_sw_fence *fence);
62 static inline void i915_sw_fence_fini(struct i915_sw_fence *fence) {} in i915_sw_fence_fini() argument
65 void i915_sw_fence_commit(struct i915_sw_fence *fence);
67 int i915_sw_fence_await_sw_fence(struct i915_sw_fence *fence,
70 int i915_sw_fence_await_sw_fence_gfp(struct i915_sw_fence *fence,
76 struct i915_sw_fence *fence; member
79 int __i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence,
82 int i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence,
87 int i915_sw_fence_await_reservation(struct i915_sw_fence *fence,
94 bool i915_sw_fence_await(struct i915_sw_fence *fence);
95 void i915_sw_fence_complete(struct i915_sw_fence *fence);
97 static inline bool i915_sw_fence_signaled(const struct i915_sw_fence *fence) in i915_sw_fence_signaled() argument
99 return atomic_read(&fence->pending) <= 0; in i915_sw_fence_signaled()
102 static inline bool i915_sw_fence_done(const struct i915_sw_fence *fence) in i915_sw_fence_done() argument
104 return atomic_read(&fence->pending) < 0; in i915_sw_fence_done()
107 static inline void i915_sw_fence_wait(struct i915_sw_fence *fence) in i915_sw_fence_wait() argument
109 wait_event(fence->wait, i915_sw_fence_done(fence)); in i915_sw_fence_wait()
113 i915_sw_fence_set_error_once(struct i915_sw_fence *fence, int error) in i915_sw_fence_set_error_once() argument
116 cmpxchg(&fence->error, 0, error); in i915_sw_fence_set_error_once()