Home
last modified time | relevance | path

Searched refs:dma_fence (Results 1 – 25 of 216) sorted by relevance

123456789

/OK3568_Linux_fs/kernel/include/linux/
H A Ddma-fence.h25 struct dma_fence;
65 struct dma_fence { struct
105 typedef void (*dma_fence_func_t)(struct dma_fence *fence, argument
143 const char * (*get_driver_name)(struct dma_fence *fence);
155 const char * (*get_timeline_name)(struct dma_fence *fence);
192 bool (*enable_signaling)(struct dma_fence *fence);
209 bool (*signaled)(struct dma_fence *fence);
231 signed long (*wait)(struct dma_fence *fence,
242 void (*release)(struct dma_fence *fence);
252 void (*fence_value_str)(struct dma_fence *fence, char *str, int size);
[all …]
H A Ddma-fence-chain.h27 struct dma_fence base;
29 struct dma_fence __rcu *prev;
31 struct dma_fence *fence;
46 to_dma_fence_chain(struct dma_fence *fence) in to_dma_fence_chain()
66 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence);
67 int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno);
69 struct dma_fence *prev,
70 struct dma_fence *fence,
H A Ddma-resv.h60 struct dma_fence __rcu *shared[];
74 struct dma_fence __rcu *fence_excl;
241 static inline struct dma_fence *
259 static inline struct dma_fence *
262 struct dma_fence *fence; in dma_resv_get_excl_rcu()
277 void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence);
279 void dma_resv_add_excl_fence(struct dma_resv *obj, struct dma_fence *fence);
282 struct dma_fence **pfence_excl,
284 struct dma_fence ***pshared);
H A Ddma-fence-array.h38 struct dma_fence base;
43 struct dma_fence **fences;
56 static inline bool dma_fence_is_array(struct dma_fence *fence) in dma_fence_is_array()
69 to_dma_fence_array(struct dma_fence *fence) in to_dma_fence_array()
78 struct dma_fence **fences,
82 bool dma_fence_match_context(struct dma_fence *fence, u64 context);
/OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/
H A Dmali_kbase_fence.h52 struct dma_fence *fence;
67 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom);
80 WARN_ON((katom)->dma_fence.fence_in); \
81 (katom)->dma_fence.fence_in = fence; \
93 if (katom->dma_fence.fence) { in kbase_fence_out_remove()
94 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove()
95 katom->dma_fence.fence = NULL; in kbase_fence_out_remove()
108 if (katom->dma_fence.fence_in) { in kbase_fence_in_remove()
109 dma_fence_put(katom->dma_fence.fence_in); in kbase_fence_in_remove()
110 katom->dma_fence.fence_in = NULL; in kbase_fence_in_remove()
[all …]
H A Dmali_kbase_fence.c32 kbase_fence_get_driver_name(struct dma_fence *fence) in kbase_fence_get_driver_name()
42 kbase_fence_get_timeline_name(struct dma_fence *fence) in kbase_fence_get_timeline_name()
52 kbase_fence_enable_signaling(struct dma_fence *fence) in kbase_fence_enable_signaling()
62 kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size) in kbase_fence_fence_value_str()
89 struct dma_fence * in kbase_fence_out_new()
96 struct dma_fence *fence; in kbase_fence_out_new()
99 WARN_ON(katom->dma_fence.fence); in kbase_fence_out_new()
108 katom->dma_fence.context, in kbase_fence_out_new()
109 atomic_inc_return(&katom->dma_fence.seqno)); in kbase_fence_out_new()
111 katom->dma_fence.fence = fence; in kbase_fence_out_new()
[all …]
H A Dmali_kbase_dma_fence.c44 list_add_tail(&katom->queue, &kctx->dma_fence.waiting_resource); in kbase_dma_fence_waiters_add()
126 ret = queue_work(kctx->dma_fence.wq, &katom->work); in kbase_dma_fence_queue_work()
204 kbase_dma_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb) in kbase_dma_fence_cb()
230 struct dma_fence *excl_fence = NULL; in kbase_dma_fence_add_reservation_callback()
231 struct dma_fence **shared_fences = NULL; in kbase_dma_fence_add_reservation_callback()
316 struct dma_fence *fence; in kbase_dma_fence_wait()
402 struct list_head *list = &kctx->dma_fence.waiting_resource; in kbase_dma_fence_cancel_all_atoms()
422 if (!katom->dma_fence.fence) in kbase_dma_fence_signal()
426 dma_fence_signal(katom->dma_fence.fence); in kbase_dma_fence_signal()
435 destroy_workqueue(kctx->dma_fence.wq); in kbase_dma_fence_term()
[all …]
/OK3568_Linux_fs/kernel/include/trace/events/
H A Ddma_fence.h3 #define TRACE_SYSTEM dma_fence
10 struct dma_fence;
12 DECLARE_EVENT_CLASS(dma_fence,
14 TP_PROTO(struct dma_fence *fence),
37 DEFINE_EVENT(dma_fence, dma_fence_emit,
39 TP_PROTO(struct dma_fence *fence),
44 DEFINE_EVENT(dma_fence, dma_fence_init,
46 TP_PROTO(struct dma_fence *fence),
51 DEFINE_EVENT(dma_fence, dma_fence_destroy,
53 TP_PROTO(struct dma_fence *fence),
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/
H A Dmali_kbase_fence.h70 struct dma_fence base;
91 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom);
104 WARN_ON((katom)->dma_fence.fence_in); \
105 (katom)->dma_fence.fence_in = fence; \
119 if (katom->dma_fence.fence) { in kbase_fence_out_remove()
120 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove()
121 katom->dma_fence.fence = NULL; in kbase_fence_out_remove()
134 if (katom->dma_fence.fence_in) { in kbase_fence_in_remove()
135 dma_fence_put(katom->dma_fence.fence_in); in kbase_fence_in_remove()
136 katom->dma_fence.fence_in = NULL; in kbase_fence_in_remove()
[all …]
H A Dmali_kbase_sync_file.c64 struct dma_fence *fence; in kbase_sync_fence_out_create()
109 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd()
118 katom->dma_fence.fence_cb_added = false; in kbase_sync_fence_in_from_fd()
129 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_validate()
166 static void kbase_fence_wait_callback(struct dma_fence *fence, in kbase_fence_wait_callback()
171 dma_fence.fence_cb); in kbase_fence_wait_callback()
175 if (dma_fence_is_signaled(katom->dma_fence.fence_in) && in kbase_fence_wait_callback()
179 katom->dma_fence.fence_in->error < 0) in kbase_fence_wait_callback()
181 katom->dma_fence.fence_in->status < 0) in kbase_fence_wait_callback()
203 struct dma_fence *fence; in kbase_sync_fence_in_wait()
[all …]
H A Dmali_kbase_fence.c35 struct dma_fence * in kbase_fence_out_new()
42 struct dma_fence *fence; in kbase_fence_out_new()
45 WARN_ON(katom->dma_fence.fence); in kbase_fence_out_new()
54 katom->dma_fence.context, in kbase_fence_out_new()
55 atomic_inc_return(&katom->dma_fence.seqno)); in kbase_fence_out_new()
57 katom->dma_fence.fence = fence; in kbase_fence_out_new()
/OK3568_Linux_fs/kernel/drivers/video/rockchip/rga3/include/
H A Drga_fence.h28 struct dma_fence *rga_dma_fence_alloc(void);
29 int rga_dma_fence_get_fd(struct dma_fence *fence);
30 struct dma_fence *rga_get_dma_fence_from_fd(int fence_fd);
31 int rga_dma_fence_wait(struct dma_fence *fence);
32 int rga_dma_fence_add_callback(struct dma_fence *fence, dma_fence_func_t func, void *private);
35 static inline void rga_dma_fence_put(struct dma_fence *fence) in rga_dma_fence_put()
41 static inline void rga_dma_fence_signal(struct dma_fence *fence, int error) in rga_dma_fence_signal()
50 static inline int rga_dma_fence_get_status(struct dma_fence *fence) in rga_dma_fence_get_status()
59 static inline struct dma_fence *rga_dma_fence_alloc(void) in rga_dma_fence_alloc()
64 static inline int rga_dma_fence_get_fd(struct dma_fence *fence) in rga_dma_fence_get_fd()
[all …]
/OK3568_Linux_fs/kernel/drivers/dma-buf/
H A Ddma-fence-chain.c12 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence);
21 static struct dma_fence *dma_fence_chain_get_prev(struct dma_fence_chain *chain) in dma_fence_chain_get_prev()
23 struct dma_fence *prev; in dma_fence_chain_get_prev()
39 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence) in dma_fence_chain_walk()
42 struct dma_fence *prev, *replacement, *tmp; in dma_fence_chain_walk()
65 tmp = cmpxchg((struct dma_fence __force **)&chain->prev, in dma_fence_chain_walk()
90 int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno) in dma_fence_chain_find_seqno()
112 static const char *dma_fence_chain_get_driver_name(struct dma_fence *fence) in dma_fence_chain_get_driver_name()
117 static const char *dma_fence_chain_get_timeline_name(struct dma_fence *fence) in dma_fence_chain_get_timeline_name()
135 static void dma_fence_chain_cb(struct dma_fence *f, struct dma_fence_cb *cb) in dma_fence_chain_cb()
[all …]
H A Dst-dma-fence.c20 struct dma_fence base;
22 } *to_mock_fence(struct dma_fence *f) { in to_mock_fence()
26 static const char *mock_name(struct dma_fence *f) in mock_name()
31 static void mock_fence_release(struct dma_fence *f) in mock_fence_release()
41 static void mock_wakeup(struct dma_fence *f, struct dma_fence_cb *cb) in mock_wakeup()
46 static long mock_wait(struct dma_fence *f, bool intr, long timeout) in mock_wait()
83 static struct dma_fence *mock_fence(void) in mock_fence()
99 struct dma_fence *f; in sanitycheck()
113 struct dma_fence *f; in test_signaling()
151 static void simple_callback(struct dma_fence *f, struct dma_fence_cb *cb) in simple_callback()
[all …]
H A Ddma-fence.c27 static struct dma_fence dma_fence_stub;
113 static const char *dma_fence_stub_get_name(struct dma_fence *fence) in dma_fence_stub_get_name()
128 struct dma_fence *dma_fence_get_stub(void) in dma_fence_get_stub()
332 int dma_fence_signal_timestamp_locked(struct dma_fence *fence, in dma_fence_signal_timestamp_locked()
375 int dma_fence_signal_timestamp(struct dma_fence *fence, ktime_t timestamp) in dma_fence_signal_timestamp()
407 int dma_fence_signal_locked(struct dma_fence *fence) in dma_fence_signal_locked()
426 int dma_fence_signal(struct dma_fence *fence) in dma_fence_signal()
466 dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout) in dma_fence_wait_timeout()
496 struct dma_fence *fence = in dma_fence_release()
497 container_of(kref, struct dma_fence, refcount); in dma_fence_release()
[all …]
H A Ddma-resv.c159 struct dma_fence *excl; in dma_resv_fini()
217 struct dma_fence *fence; in dma_resv_reserve_shared()
243 struct dma_fence *fence; in dma_resv_reserve_shared()
263 void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence) in dma_resv_add_shared_fence()
266 struct dma_fence *old; in dma_resv_add_shared_fence()
308 void dma_resv_add_excl_fence(struct dma_resv *obj, struct dma_fence *fence) in dma_resv_add_excl_fence()
310 struct dma_fence *old_fence = dma_resv_get_excl(obj); in dma_resv_add_excl_fence()
349 struct dma_fence *old, *new; in dma_resv_copy_fences()
376 struct dma_fence *fence; in dma_resv_copy_fences()
433 struct dma_fence **pfence_excl, in dma_resv_get_fences_rcu()
[all …]
H A Dseqno-fence.c16 static const char *seqno_fence_get_driver_name(struct dma_fence *fence) in seqno_fence_get_driver_name()
23 static const char *seqno_fence_get_timeline_name(struct dma_fence *fence) in seqno_fence_get_timeline_name()
30 static bool seqno_enable_signaling(struct dma_fence *fence) in seqno_enable_signaling()
37 static bool seqno_signaled(struct dma_fence *fence) in seqno_signaled()
44 static void seqno_release(struct dma_fence *fence) in seqno_release()
55 static signed long seqno_wait(struct dma_fence *fence, bool intr, in seqno_wait()
H A Ddma-fence-array.c18 static const char *dma_fence_array_get_driver_name(struct dma_fence *fence) in dma_fence_array_get_driver_name()
23 static const char *dma_fence_array_get_timeline_name(struct dma_fence *fence) in dma_fence_array_get_timeline_name()
55 static void dma_fence_array_cb_func(struct dma_fence *f, in dma_fence_array_cb_func()
70 static bool dma_fence_array_enable_signaling(struct dma_fence *fence) in dma_fence_array_enable_signaling()
103 static bool dma_fence_array_signaled(struct dma_fence *fence) in dma_fence_array_signaled()
114 static void dma_fence_array_release(struct dma_fence *fence) in dma_fence_array_release()
155 struct dma_fence **fences, in dma_fence_array_create()
192 bool dma_fence_match_context(struct dma_fence *fence, u64 context) in dma_fence_match_context()
/OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/
H A Di915_active.h48 void i915_active_noop(struct dma_fence *fence, struct dma_fence_cb *cb);
74 struct dma_fence *
76 struct dma_fence *fence);
100 static inline struct dma_fence *
103 struct dma_fence *fence; in i915_active_fence_get()
166 struct dma_fence *
167 __i915_active_ref(struct i915_active *ref, u64 idx, struct dma_fence *fence);
168 int i915_active_ref(struct i915_active *ref, u64 idx, struct dma_fence *fence);
178 struct dma_fence *
179 i915_active_set_exclusive(struct i915_active *ref, struct dma_fence *f);
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_sync.c37 struct dma_fence *fence;
64 struct dma_fence *f) in amdgpu_sync_same_dev()
85 static void *amdgpu_sync_get_owner(struct dma_fence *f) in amdgpu_sync_get_owner()
112 static void amdgpu_sync_keep_later(struct dma_fence **keep, in amdgpu_sync_keep_later()
113 struct dma_fence *fence) in amdgpu_sync_keep_later()
131 static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct dma_fence *f) in amdgpu_sync_add_later()
153 int amdgpu_sync_fence(struct amdgpu_sync *sync, struct dma_fence *f) in amdgpu_sync_fence()
181 int amdgpu_sync_vm_fence(struct amdgpu_sync *sync, struct dma_fence *fence) in amdgpu_sync_vm_fence()
205 struct dma_fence *f; in amdgpu_sync_resv()
286 struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync, in amdgpu_sync_peek_fence()
[all …]
H A Damdgpu_sync.h29 struct dma_fence;
46 struct dma_fence *last_vm_update;
50 int amdgpu_sync_fence(struct amdgpu_sync *sync, struct dma_fence *f);
51 int amdgpu_sync_vm_fence(struct amdgpu_sync *sync, struct dma_fence *fence);
55 struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
57 struct dma_fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync);
/OK3568_Linux_fs/kernel/drivers/video/rockchip/rga3/
H A Drga_fence.c17 static const char *rga_fence_get_name(struct dma_fence *fence) in rga_fence_get_name()
54 struct dma_fence *rga_dma_fence_alloc(void) in rga_dma_fence_alloc()
57 struct dma_fence *fence = NULL; in rga_dma_fence_alloc()
74 int rga_dma_fence_get_fd(struct dma_fence *fence) in rga_dma_fence_get_fd()
97 struct dma_fence *rga_get_dma_fence_from_fd(int fence_fd) in rga_get_dma_fence_from_fd()
99 struct dma_fence *fence; in rga_get_dma_fence_from_fd()
108 int rga_dma_fence_wait(struct dma_fence *fence) in rga_dma_fence_wait()
119 int rga_dma_fence_add_callback(struct dma_fence *fence, dma_fence_func_t func, void *private) in rga_dma_fence_add_callback()
/OK3568_Linux_fs/kernel/include/drm/
H A Ddrm_syncobj.h51 struct dma_fence __rcu *fence;
102 static inline struct dma_fence *
105 struct dma_fence *fence; in drm_syncobj_fence_get()
118 struct dma_fence *fence,
121 struct dma_fence *fence);
124 struct dma_fence **fence);
127 struct dma_fence *fence);
H A Dgpu_scheduler.h97 struct dma_fence *dependency;
100 struct dma_fence *last_scheduled;
133 struct dma_fence scheduled;
145 struct dma_fence finished;
152 struct dma_fence *parent;
168 struct drm_sched_fence *to_drm_sched_fence(struct dma_fence *f);
221 struct dma_fence *(*dependency)(struct drm_sched_job *sched_job,
230 struct dma_fence *(*run_job)(struct drm_sched_job *sched_job);
312 bool drm_sched_dependency_optimized(struct dma_fence* fence,
/OK3568_Linux_fs/kernel/drivers/gpu/drm/vgem/
H A Dvgem_fence.c33 struct dma_fence base;
38 static const char *vgem_fence_get_driver_name(struct dma_fence *fence) in vgem_fence_get_driver_name()
43 static const char *vgem_fence_get_timeline_name(struct dma_fence *fence) in vgem_fence_get_timeline_name()
48 static void vgem_fence_release(struct dma_fence *base) in vgem_fence_release()
56 static void vgem_fence_value_str(struct dma_fence *fence, char *str, int size) in vgem_fence_value_str()
61 static void vgem_fence_timeline_value_str(struct dma_fence *fence, char *str, in vgem_fence_timeline_value_str()
84 static struct dma_fence *vgem_fence_create(struct vgem_file *vfile, in vgem_fence_create()
133 struct dma_fence *fence; in vgem_fence_attach_ioctl()
211 struct dma_fence *fence; in vgem_fence_signal_ioctl()

123456789