Home
last modified time | relevance | path

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

12345678910>>...16

/kernel/linux/linux-6.6/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,
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 Ddma-fence-chain.h26 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 Ddma-fence-unwrap.h11 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 Ddma-fence-array.h38 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 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,
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 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-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);
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);
/kernel/linux/linux-5.10/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 *fenc
[all...]
/kernel/linux/linux-6.6/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 *fenc
[all...]
/kernel/linux/linux-5.10/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 *fenc
[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 *
543 int dma_fence(void) dma_fence() function
[all...]
/kernel/linux/linux-6.6/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()
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 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()
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 Ddma-fence.c21 #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 Ddma-resv.c48 * 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 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()
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 Ddma-fence-unwrap.c3 * 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 Damdgpu_sync.c40 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 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 *
[all...]
/kernel/linux/linux-5.10/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()
287 struct dma_fence *amdgpu_sync_peek_fenc
[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);
/kernel/linux/linux-5.10/include/drm/
H A Ddrm_syncobj.h37 * 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 Ddrm_syncobj.h37 * 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 Dsched_fence.c52 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...]

Completed in 11 milliseconds

12345678910>>...16