/kernel/linux/linux-6.6/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, 129 * True if this dma_fence implementation uses 64bit seqno, false 143 const char * (*get_driver_name)(struct dma_fence *fence); 155 const char * (*get_timeline_name)(struct dma_fence *fence); 178 * &dma_fence.error may be set in enable_signaling, but only when false 192 bool (*enable_signaling)(struct dma_fence *fence); 205 * May set &dma_fence [all...] |
H A D | dma-fence-chain.h | 26 struct dma_fence base; 27 struct dma_fence __rcu *prev; 29 struct dma_fence *fence; 61 to_dma_fence_chain(struct dma_fence *fence) in to_dma_fence_chain() 76 static inline struct dma_fence * 77 dma_fence_chain_contained(struct dma_fence *fence) in dma_fence_chain_contained() 122 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence); 123 int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno); 125 struct dma_fence *pre [all...] |
H A D | dma-fence-unwrap.h | 11 struct dma_fence; 22 struct dma_fence *chain; 26 struct dma_fence *array; 33 struct dma_fence *dma_fence_unwrap_first(struct dma_fence *head, 35 struct dma_fence *dma_fence_unwrap_next(struct dma_fence_unwrap *cursor); 51 struct dma_fence *__dma_fence_unwrap_merge(unsigned int num_fences, 52 struct dma_fence **fences, 64 * Returns NULL on memory allocation failure, a dma_fence object representing 69 struct dma_fence *__ [all...] |
H A D | dma-fence-array.h | 38 struct dma_fence base; 43 struct dma_fence **fences; 56 to_dma_fence_array(struct dma_fence *fence) in to_dma_fence_array() 80 struct dma_fence **fences, 84 bool dma_fence_match_context(struct dma_fence *fence, u64 context); 86 struct dma_fence *dma_fence_array_first(struct dma_fence *head); 87 struct dma_fence *dma_fence_array_next(struct dma_fence *head,
|
/kernel/linux/linux-5.10/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, 129 * True if this dma_fence implementation uses 64bit seqno, false 143 const char * (*get_driver_name)(struct dma_fence *fence); 155 const char * (*get_timeline_name)(struct dma_fence *fence); 178 * &dma_fence.error may be set in enable_signaling, but only when false 192 bool (*enable_signaling)(struct dma_fence *fence); 205 * May set &dma_fence [all...] |
H A D | dma-fence-chain.h | 27 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 D | dma-fence-array.h | 38 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);
|
H A D | dma-resv.h | 60 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);
|
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | dma_fence.h | 3 #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 *fenc [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | dma_fence.h | 3 #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 *fenc [all...] |
/kernel/linux/linux-5.10/drivers/dma-buf/ |
H A D | dma-fence-chain.c | 12 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 *fenc [all...] |
H A D | st-dma-fence.c | 20 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 * 543 int dma_fence(void) dma_fence() function [all...] |
/kernel/linux/linux-6.6/drivers/dma-buf/ |
H A D | dma-fence-chain.c | 12 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() 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 * [all...] |
H A D | dma-fence-array.c | 18 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() 126 static void dma_fence_array_set_deadline(struct dma_fence *fence, in dma_fence_array_set_deadline() 166 struct dma_fence **fences, in dma_fence_array_create() 219 bool dma_fence_match_context(struct dma_fence *fence, u64 context) in dma_fence_match_context() 236 struct dma_fence *dma_fence_array_firs [all...] |
H A D | dma-fence.c | 21 #include <trace/events/dma_fence.h> 28 static struct dma_fence dma_fence_stub; 41 * DMA fences, represented by &struct dma_fence, are the kernel internal 71 * Since &dma_fence provide a cross driver contract, all drivers must follow the 110 * track asynchronous compute work using &dma_fence. No driver outside of 114 static const char *dma_fence_stub_get_name(struct dma_fence *fence) in dma_fence_stub_get_name() 131 struct dma_fence *dma_fence_get_stub(void) in dma_fence_get_stub() 157 struct dma_fence *dma_fence_allocate_private_stub(ktime_t timestamp) in dma_fence_allocate_private_stub() 159 struct dma_fence *fence; in dma_fence_allocate_private_stub() 184 * allocated. The fence context is used for setting &dma_fence [all...] |
H A D | dma-resv.c | 48 * dma_fence object associated with a resource. A reservation object 66 struct dma_fence __rcu *table[]; 71 struct dma_resv *resv, struct dma_fence **fence, in dma_resv_list_entry() 78 *fence = (struct dma_fence *)(tmp & ~DMA_RESV_LIST_MASK); in dma_resv_list_entry() 86 struct dma_fence *fence, in dma_resv_list_set() 91 RCU_INIT_POINTER(list->table[index], (struct dma_fence *)tmp); in dma_resv_list_set() 126 struct dma_fence *fence; in dma_resv_list_free() 210 struct dma_fence *fence; in dma_resv_reserve_fences() 235 struct dma_fence *fence; in dma_resv_reserve_fences() 280 void dma_resv_add_fence(struct dma_resv *obj, struct dma_fence *fenc [all...] |
H A D | st-dma-fence.c | 20 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() 115 struct dma_fence *f; in test_signaling() 155 static void simple_callback(struct dma_fence * 562 int dma_fence(void) dma_fence() function [all...] |
H A D | dma-fence-unwrap.c | 3 * dma-fence-util: misc functions for dma_fence objects 17 static struct dma_fence * 33 struct dma_fence *dma_fence_unwrap_first(struct dma_fence *head, in dma_fence_unwrap_first() 48 struct dma_fence *dma_fence_unwrap_next(struct dma_fence_unwrap *cursor) in dma_fence_unwrap_next() 50 struct dma_fence *tmp; in dma_fence_unwrap_next() 63 struct dma_fence *__dma_fence_unwrap_merge(unsigned int num_fences, in __dma_fence_unwrap_merge() 64 struct dma_fence **fences, in __dma_fence_unwrap_merge() 68 struct dma_fence *tmp, **array; in __dma_fence_unwrap_merge() 115 struct dma_fence *nex in __dma_fence_unwrap_merge() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_sync.c | 40 struct dma_fence *fence; 66 struct dma_fence *f) in amdgpu_sync_same_dev() 87 static void *amdgpu_sync_get_owner(struct dma_fence *f) in amdgpu_sync_get_owner() 114 static void amdgpu_sync_keep_later(struct dma_fence **keep, in amdgpu_sync_keep_later() 115 struct dma_fence *fence) in amdgpu_sync_keep_later() 133 static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct dma_fence *f) in amdgpu_sync_add_later() 155 int amdgpu_sync_fence(struct amdgpu_sync *sync, struct dma_fence *f) in amdgpu_sync_fence() 177 void *owner, struct dma_fence *f) in amdgpu_sync_test_fence() 240 struct dma_fence *f; in amdgpu_sync_resv() 249 struct dma_fence *tm in amdgpu_sync_resv() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
H A D | i915_active.h | 48 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 * [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_sync.c | 37 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() 287 struct dma_fence *amdgpu_sync_peek_fenc [all...] |
H A D | amdgpu_sync.h | 29 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);
|
/kernel/linux/linux-5.10/include/drm/ |
H A D | drm_syncobj.h | 37 * This structure defines a generic sync object which wraps a &dma_fence. 51 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);
|
/kernel/linux/linux-6.6/include/drm/ |
H A D | drm_syncobj.h | 37 * This structure defines a generic sync object which wraps a &dma_fence. 51 struct dma_fence __rcu *fence; 106 static inline struct dma_fence * 109 struct dma_fence *fence; in drm_syncobj_fence_get() 122 struct dma_fence *fence, 125 struct dma_fence *fence); 128 struct dma_fence **fence); 131 struct dma_fence *fence);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/scheduler/ |
H A D | sched_fence.c | 52 struct dma_fence *fence) in drm_sched_fence_set_parent() 66 struct dma_fence *parent) in drm_sched_fence_scheduled() 87 static const char *drm_sched_fence_get_driver_name(struct dma_fence *fence) in drm_sched_fence_get_driver_name() 92 static const char *drm_sched_fence_get_timeline_name(struct dma_fence *f) in drm_sched_fence_get_timeline_name() 100 struct dma_fence *f = container_of(rcu, struct dma_fence, rcu); in drm_sched_fence_free_rcu() 130 static void drm_sched_fence_release_scheduled(struct dma_fence *f) in drm_sched_fence_release_scheduled() 145 static void drm_sched_fence_release_finished(struct dma_fence *f) in drm_sched_fence_release_finished() 152 static void drm_sched_fence_set_deadline_finished(struct dma_fence *f, in drm_sched_fence_set_deadline_finished() 156 struct dma_fence *paren in drm_sched_fence_set_deadline_finished() [all...] |