Home
last modified time | relevance | path

Searched refs:dma_fence (Results 1 - 25 of 63) sorted by relevance

123

/device/soc/rockchip/common/sdk_linux/include/linux/
H A Ddma-fence.h25 struct dma_fence;
30 * struct dma_fence - software synchronization primitive
65 struct dma_fence { struct
105 typedef void (*dma_fence_func_t)(struct dma_fence *fence, struct dma_fence_cb *cb);
128 * True if this dma_fence implementation uses 64bit seqno, false
142 const char *(*get_driver_name)(struct dma_fence *fence);
154 const char *(*get_timeline_name)(struct dma_fence *fence);
177 * &dma_fence.error may be set in enable_signaling, but only when false
191 bool (*enable_signaling)(struct dma_fence *fence);
204 * May set &dma_fence
[all...]
/device/soc/rockchip/common/vendor/drivers/gpu/arm/midgard/
H A Dmali_kbase_fence.h50 struct dma_fence *fence;
65 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom);
78 WARN_ON((katom)->dma_fence.fence_in); \
79 (katom)->dma_fence.fence_in = fence; \
91 if (katom->dma_fence.fence) { in kbase_fence_out_remove()
92 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove()
93 katom->dma_fence.fence = NULL; in kbase_fence_out_remove()
106 if (katom->dma_fence.fence_in) { in kbase_fence_in_remove()
107 dma_fence_put(katom->dma_fence.fence_in); in kbase_fence_in_remove()
108 katom->dma_fence in kbase_fence_in_remove()
[all...]
H A Dmali_kbase_fence.c30 kbase_fence_get_driver_name(struct dma_fence *fence) in kbase_fence_get_driver_name()
40 kbase_fence_get_timeline_name(struct dma_fence *fence) in kbase_fence_get_timeline_name()
50 kbase_fence_enable_signaling(struct dma_fence *fence) in kbase_fence_enable_signaling()
60 kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size) in kbase_fence_fence_value_str()
83 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom) in kbase_fence_out_new()
89 struct dma_fence *fence; in kbase_fence_out_new()
92 WARN_ON(katom->dma_fence.fence); in kbase_fence_out_new()
99 dma_fence_init(fence, &kbase_fence_ops, &kbase_fence_lock, katom->dma_fence.context, in kbase_fence_out_new()
100 atomic_inc_return(&katom->dma_fence.seqno)); in kbase_fence_out_new()
102 katom->dma_fence in kbase_fence_out_new()
[all...]
H A Dmali_kbase_dma_fence.c39 list_add_tail(&katom->queue, &kctx->dma_fence.waiting_resource); in kbase_dma_fence_waiters_add()
121 ret = queue_work(kctx->dma_fence.wq, &katom->work); in kbase_dma_fence_queue_work()
130 * Locking: katom->dma_fence.callbacks list assumes jctx.lock is held.
200 kbase_dma_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb) in kbase_dma_fence_cb()
223 struct dma_fence *excl_fence = NULL; in kbase_dma_fence_add_reservation_callback()
224 struct dma_fence **shared_fences = NULL; in kbase_dma_fence_add_reservation_callback()
305 struct dma_fence *fence; in kbase_dma_fence_wait()
386 struct list_head *list = &kctx->dma_fence.waiting_resource; in kbase_dma_fence_cancel_all_atoms()
407 if (!katom->dma_fence.fence) { in kbase_dma_fence_signal()
412 dma_fence_signal(katom->dma_fence in kbase_dma_fence_signal()
[all...]
H A Dmali_kbase_sync_file.c59 struct dma_fence *fence; in kbase_sync_fence_out_create()
103 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd()
120 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_validate()
156 static void kbase_fence_wait_callback(struct dma_fence *fence, in kbase_fence_wait_callback()
197 struct dma_fence *fence; in kbase_sync_fence_in_wait()
274 static void kbase_sync_fence_info_get(struct dma_fence *fence, in kbase_sync_fence_info_get()
320 struct dma_fence *fence; in kbase_sync_fence_in_info_get()
341 struct dma_fence *fence; in kbase_sync_fence_out_info_get()
H A Dmali_kbase_jd_debugfs.c59 if (atom->dma_fence.fence) { in kbase_jd_debugfs_fence_info()
61 struct fence *fence = atom->dma_fence.fence; in kbase_jd_debugfs_fence_info()
63 struct dma_fence *fence = atom->dma_fence.fence; in kbase_jd_debugfs_fence_info()
75 list_for_each_entry(cb, &atom->dma_fence.callbacks, node) in kbase_jd_debugfs_fence_info()
80 struct dma_fence *fence = cb->fence; in kbase_jd_debugfs_fence_info()
/device/soc/rockchip/common/kernel/drivers/gpu/arm/bifrost/
H A Dmali_kbase_fence.h56 struct dma_fence *fence;
71 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom);
84 WARN_ON((katom)->dma_fence.fence_in); \
85 (katom)->dma_fence.fence_in = fence; \
99 if (katom->dma_fence.fence) { in kbase_fence_out_remove()
100 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove()
101 katom->dma_fence.fence = NULL; in kbase_fence_out_remove()
114 if (katom->dma_fence.fence_in) { in kbase_fence_in_remove()
115 dma_fence_put(katom->dma_fence.fence_in); in kbase_fence_in_remove()
116 katom->dma_fence in kbase_fence_in_remove()
[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()
71 list_for_each_entry_safe(cb, tmp, &katom->dma_fence.callbacks, node) { in kbase_fence_free_callbacks()
82 ret = atomic_dec_return(&katom->dma_fence.dep_count); in kbase_fence_free_callbacks()
108 struct dma_fence *fence, in kbase_fence_add_callback()
125 atomic_inc(&katom->dma_fence in kbase_fence_add_callback()
[all...]
H A Dmali_kbase_dma_fence.c45 list_add_tail(&katom->queue, &kctx->dma_fence.waiting_resource); in kbase_dma_fence_waiters_add()
133 ret = queue_work(kctx->dma_fence.wq, &katom->work); in kbase_dma_fence_queue_work()
142 * Locking: katom->dma_fence.callbacks list assumes jctx.lock is held.
211 kbase_dma_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb) in kbase_dma_fence_cb()
244 struct dma_fence *excl_fence = NULL; in kbase_dma_fence_add_reservation_callback()
245 struct dma_fence **shared_fences = NULL; in kbase_dma_fence_add_reservation_callback()
343 struct dma_fence *fence; in kbase_dma_fence_wait()
444 struct list_head *list = &kctx->dma_fence.waiting_resource; in kbase_dma_fence_cancel_all_atoms()
464 if (!katom->dma_fence.fence) in kbase_dma_fence_signal()
468 dma_fence_signal(katom->dma_fence in kbase_dma_fence_signal()
[all...]
H A Dmali_kbase_fence_ops.c31 kbase_fence_get_driver_name(struct dma_fence *fence) in kbase_fence_get_driver_name()
41 kbase_fence_get_timeline_name(struct dma_fence *fence) in kbase_fence_get_timeline_name()
51 kbase_fence_enable_signaling(struct dma_fence *fence) in kbase_fence_enable_signaling()
61 kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size) in kbase_fence_fence_value_str()
H A Dmali_kbase_sync_file.c67 struct dma_fence *fence; in kbase_sync_fence_out_create()
112 struct dma_fence *fence = sync_file_get_fence(fd); 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()
208 struct dma_fence *fence; in kbase_sync_fence_in_wait()
285 void kbase_sync_fence_info_get(struct dma_fence *fence, in kbase_sync_fence_info_get()
331 struct dma_fence *fence; in kbase_sync_fence_in_info_get()
351 struct dma_fence *fence; in kbase_sync_fence_out_info_get()
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/
H A Dmali_kbase_fence.h57 struct dma_fence *fence;
72 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom);
85 WARN_ON((katom)->dma_fence.fence_in); \
86 (katom)->dma_fence.fence_in = fence; \
99 if (katom->dma_fence.fence) { in kbase_fence_out_remove()
100 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove()
101 katom->dma_fence.fence = NULL; in kbase_fence_out_remove()
114 if (katom->dma_fence.fence_in) { in kbase_fence_in_remove()
115 dma_fence_put(katom->dma_fence.fence_in); in kbase_fence_in_remove()
116 katom->dma_fence in kbase_fence_in_remove()
[all...]
H A Dmali_kbase_fence.c35 struct dma_fence *kbase_fence_out_new(struct kbase_jd_atom *katom) in kbase_fence_out_new()
41 struct dma_fence *fence; in kbase_fence_out_new()
44 WARN_ON(katom->dma_fence.fence); in kbase_fence_out_new()
51 dma_fence_init(fence, &kbase_fence_ops, &kbase_fence_lock, katom->dma_fence.context, in kbase_fence_out_new()
52 atomic_inc_return(&katom->dma_fence.seqno)); in kbase_fence_out_new()
54 katom->dma_fence.fence = fence; in kbase_fence_out_new()
67 list_for_each_entry_safe(cb, tmp, &katom->dma_fence.callbacks, node) in kbase_fence_free_callbacks()
79 ret = atomic_dec_return(&katom->dma_fence.dep_count); in kbase_fence_free_callbacks()
100 int kbase_fence_add_callback(struct kbase_jd_atom *katom, struct dma_fence *fence, dma_fence_func_t callback) in kbase_fence_add_callback()
118 atomic_inc(&katom->dma_fence in kbase_fence_add_callback()
[all...]
H A Dmali_kbase_dma_fence.c44 list_add_tail(&katom->queue, &kctx->dma_fence.waiting_resource); in kbase_dma_fence_waiters_add()
129 ret = queue_work(kctx->dma_fence.wq, &katom->work); in kbase_dma_fence_queue_work()
138 * Locking: katom->dma_fence.callbacks list assumes jctx.lock is held.
208 kbase_dma_fence_cb(struct dma_fence *fence, struct dma_fence_cb *cb) in kbase_dma_fence_cb()
235 struct dma_fence *excl_fence = NULL; in kbase_dma_fence_add_reservation_callback()
236 struct dma_fence **shared_fences = NULL; in kbase_dma_fence_add_reservation_callback()
321 struct dma_fence *fence; in kbase_dma_fence_wait()
405 struct list_head *list = &kctx->dma_fence.waiting_resource; in kbase_dma_fence_cancel_all_atoms()
426 if (!katom->dma_fence.fence) { in kbase_dma_fence_signal()
431 dma_fence_signal(katom->dma_fence in kbase_dma_fence_signal()
[all...]
H A Dmali_kbase_fence_ops.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()
H A Dmali_kbase_sync_file.c67 struct dma_fence *fence; in kbase_sync_fence_out_create()
113 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd()
131 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_validate()
167 static void kbase_fence_wait_callback(struct dma_fence *fence, in kbase_fence_wait_callback()
208 struct dma_fence *fence; in kbase_sync_fence_in_wait()
286 void kbase_sync_fence_info_get(struct dma_fence *fence, in kbase_sync_fence_info_get()
333 struct dma_fence *fence; in kbase_sync_fence_in_info_get()
354 struct dma_fence *fence; in kbase_sync_fence_out_info_get()
/device/soc/rockchip/common/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 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 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()
135 * Locking: katom->dma_fence.callbacks list assumes jctx.lock is held.
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 in kbase_dma_fence_signal()
[all...]
H A Dmali_kbase_sync_file.c62 struct dma_fence *fence; in kbase_sync_fence_out_create()
105 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd()
121 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_validate()
157 static void kbase_fence_wait_callback(struct dma_fence *fence, in kbase_fence_wait_callback()
199 struct dma_fence *fence; in kbase_sync_fence_in_wait()
274 static void kbase_sync_fence_info_get(struct dma_fence *fence, in kbase_sync_fence_info_get()
319 struct dma_fence *fence; in kbase_sync_fence_in_info_get()
339 struct dma_fence *fence; in kbase_sync_fence_out_info_get()
/device/soc/rockchip/common/sdk_linux/drivers/dma-buf/
H A Ddma-fence.c20 #include <trace/events/dma_fence.h>
27 static struct dma_fence dma_fence_stub;
40 * DMA fences, represented by &struct dma_fence, are the kernel internal
70 * Since &dma_fence provide a cross driver contract, all drivers must follow the
109 * track asynchronous compute work using &dma_fence. No driver outside of
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()
146 * allocated. The fence context is used for setting &dma_fence.context to a
159 * Proving correctness of all the kernel code around &dma_fence through code
182 * differences. &dma_fence interact
[all...]
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/mali/linux/
H A Dmali_dma_fence.c23 static bool mali_dma_fence_enable_signaling(struct dma_fence *fence) in mali_dma_fence_enable_signaling()
29 static const char *mali_dma_fence_get_driver_name(struct dma_fence *fence) in mali_dma_fence_get_driver_name()
35 static const char *mali_dma_fence_get_timeline_name(struct dma_fence *fence) in mali_dma_fence_get_timeline_name()
120 static void mali_dma_fence_callback(struct dma_fence *fence, struct dma_fence_cb *cb) in mali_dma_fence_callback()
143 static _mali_osk_errcode_t mali_dma_fence_add_callback(struct mali_dma_fence_context *dma_fence_context, struct dma_fence *fence) in mali_dma_fence_add_callback()
214 struct dma_fence *mali_dma_fence_new(u32 context, u32 seqno) in mali_dma_fence_new()
220 struct dma_fence *fence = NULL; in mali_dma_fence_new()
221 fence = kzalloc(sizeof(struct dma_fence), GFP_KERNEL); in mali_dma_fence_new()
245 void mali_dma_fence_signal_and_put(struct dma_fence **fence) in mali_dma_fence_signal_and_put()
282 struct dma_fence *exclusive_fenc in mali_dma_fence_context_add_waiters()
[all...]
/device/soc/rockchip/common/vendor/drivers/gpu/arm/mali400/mali/linux/
H A Dmali_dma_fence.c24 static bool mali_dma_fence_enable_signaling(struct dma_fence *fence) in mali_dma_fence_enable_signaling()
30 static const char *mali_dma_fence_get_driver_name(struct dma_fence *fence) in mali_dma_fence_get_driver_name()
36 static const char *mali_dma_fence_get_timeline_name(struct dma_fence *fence) in mali_dma_fence_get_timeline_name()
118 static void mali_dma_fence_callback(struct dma_fence *fence, struct dma_fence_cb *cb) in mali_dma_fence_callback()
143 struct dma_fence *fence) in mali_dma_fence_add_callback()
209 struct dma_fence *mali_dma_fence_new(u32 context, u32 seqno) in mali_dma_fence_new()
215 struct dma_fence *fence = NULL; in mali_dma_fence_new()
216 fence = kzalloc(sizeof(struct dma_fence), GFP_KERNEL); in mali_dma_fence_new()
234 void mali_dma_fence_signal_and_put(struct dma_fence **fence) in mali_dma_fence_signal_and_put()
270 struct dma_fence *exclusive_fenc in mali_dma_fence_context_add_waiters()
[all...]
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/rga3/
H A Drga_fence.c16 static const char *rga_fence_get_name(struct dma_fence *fence) in rga_fence_get_name()
48 struct dma_fence *fence = NULL; in rga_out_fence_alloc()
83 struct dma_fence *rga_get_input_fence(int in_fence_fd) in rga_get_input_fence()
85 struct dma_fence *in_fence; in rga_get_input_fence()
95 int rga_wait_input_fence(struct dma_fence *in_fence) in rga_wait_input_fence()
106 int rga_add_dma_fence_callback(struct rga_job *job, struct dma_fence *in_fence, in rga_add_dma_fence_callback()
126 ("%s: failed to add callback to dma_fence, err: %d\n", in rga_add_dma_fence_callback()
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/rga3/include/
H A Drga_fence.h21 struct dma_fence *rga_get_input_fence(int in_fence_fd);
23 int rga_wait_input_fence(struct dma_fence *in_fence);
26 struct dma_fence *in_fence, dma_fence_func_t func);

Completed in 11 milliseconds

123