/device/soc/rockchip/common/sdk_linux/include/linux/ |
H A D | dma-fence.h | 25 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 D | mali_kbase_fence.h | 50 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 D | mali_kbase_fence.c | 30 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 D | mali_kbase_dma_fence.c | 39 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 D | mali_kbase_sync_file.c | 59 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 D | mali_kbase_jd_debugfs.c | 59 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 D | mali_kbase_fence.h | 56 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 D | mali_kbase_fence.c | 35 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 D | mali_kbase_dma_fence.c | 45 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 D | mali_kbase_fence_ops.c | 31 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 D | mali_kbase_sync_file.c | 67 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 D | mali_kbase_fence.h | 57 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 D | mali_kbase_fence.c | 35 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 D | mali_kbase_dma_fence.c | 44 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 D | mali_kbase_fence_ops.c | 32 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 D | mali_kbase_sync_file.c | 67 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 D | mali_kbase_fence.h | 52 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 D | mali_kbase_fence.c | 32 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 D | mali_kbase_dma_fence.c | 44 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 D | mali_kbase_sync_file.c | 62 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 D | dma-fence.c | 20 #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 D | mali_dma_fence.c | 23 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 D | mali_dma_fence.c | 24 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 D | rga_fence.c | 16 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 D | rga_fence.h | 21 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);
|