Lines Matching refs:f

9 static void fence_complete(struct dma_fence_work *f)  in fence_complete()  argument
11 if (f->ops->release) in fence_complete()
12 f->ops->release(f); in fence_complete()
13 dma_fence_signal(&f->dma); in fence_complete()
18 struct dma_fence_work *f = container_of(work, typeof(*f), work); in fence_work() local
20 f->ops->work(f); in fence_work()
22 fence_complete(f); in fence_work()
23 dma_fence_put(&f->dma); in fence_work()
29 struct dma_fence_work *f = container_of(fence, typeof(*f), chain); in fence_notify() local
34 dma_fence_set_error(&f->dma, fence->error); in fence_notify()
36 if (!f->dma.error) { in fence_notify()
37 dma_fence_get(&f->dma); in fence_notify()
38 if (test_bit(DMA_FENCE_WORK_IMM, &f->dma.flags)) in fence_notify()
39 fence_work(&f->work); in fence_notify()
41 queue_work(system_unbound_wq, &f->work); in fence_notify()
43 fence_complete(f); in fence_notify()
48 dma_fence_put(&f->dma); in fence_notify()
62 struct dma_fence_work *f = container_of(fence, typeof(*f), dma); in get_timeline_name() local
64 return f->ops->name ?: "work"; in get_timeline_name()
69 struct dma_fence_work *f = container_of(fence, typeof(*f), dma); in fence_release() local
71 i915_sw_fence_fini(&f->chain); in fence_release()
73 BUILD_BUG_ON(offsetof(typeof(*f), dma)); in fence_release()
74 dma_fence_free(&f->dma); in fence_release()
83 void dma_fence_work_init(struct dma_fence_work *f, in dma_fence_work_init() argument
86 f->ops = ops; in dma_fence_work_init()
87 spin_lock_init(&f->lock); in dma_fence_work_init()
88 dma_fence_init(&f->dma, &fence_ops, &f->lock, 0, 0); in dma_fence_work_init()
89 i915_sw_fence_init(&f->chain, fence_notify); in dma_fence_work_init()
90 INIT_WORK(&f->work, fence_work); in dma_fence_work_init()
93 int dma_fence_work_chain(struct dma_fence_work *f, struct dma_fence *signal) in dma_fence_work_chain() argument
98 return __i915_sw_fence_await_dma_fence(&f->chain, signal, &f->cb); in dma_fence_work_chain()