Home
last modified time | relevance | path

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

1234567

/Linux-v5.4/include/linux/
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 …]
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,
Ddma-resv.h62 struct dma_fence __rcu *shared[];
76 struct dma_fence __rcu *fence_excl;
243 static inline struct dma_fence *
261 static inline struct dma_fence *
264 struct dma_fence *fence; in dma_resv_get_excl_rcu()
279 void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence);
281 void dma_resv_add_excl_fence(struct dma_resv *obj, struct dma_fence *fence);
284 struct dma_fence **pfence_excl,
286 struct dma_fence ***pshared);
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);
/Linux-v5.4/include/trace/events/
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 …]
/Linux-v5.4/drivers/dma-buf/
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()
89 int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno) in dma_fence_chain_find_seqno()
111 static const char *dma_fence_chain_get_driver_name(struct dma_fence *fence) in dma_fence_chain_get_driver_name()
116 static const char *dma_fence_chain_get_timeline_name(struct dma_fence *fence) in dma_fence_chain_get_timeline_name()
134 static void dma_fence_chain_cb(struct dma_fence *f, struct dma_fence_cb *cb) in dma_fence_chain_cb()
143 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence) in dma_fence_chain_enable_signaling()
[all …]
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 …]
Ddma-fence.c27 static struct dma_fence dma_fence_stub;
67 static const char *dma_fence_stub_get_name(struct dma_fence *fence) in dma_fence_stub_get_name()
82 struct dma_fence *dma_fence_get_stub(void) in dma_fence_get_stub()
129 int dma_fence_signal_locked(struct dma_fence *fence) in dma_fence_signal_locked()
169 int dma_fence_signal(struct dma_fence *fence) in dma_fence_signal()
204 dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout) in dma_fence_wait_timeout()
230 struct dma_fence *fence = in dma_fence_release()
231 container_of(kref, struct dma_fence, refcount); in dma_fence_release()
270 void dma_fence_free(struct dma_fence *fence) in dma_fence_free()
284 void dma_fence_enable_sw_signaling(struct dma_fence *fence) in dma_fence_enable_sw_signaling()
[all …]
Ddma-resv.c120 struct dma_fence *excl; in dma_resv_fini()
178 struct dma_fence *fence; in dma_resv_reserve_shared()
204 struct dma_fence *fence; in dma_resv_reserve_shared()
224 void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence) in dma_resv_add_shared_fence()
227 struct dma_fence *old; in dma_resv_add_shared_fence()
271 void dma_resv_add_excl_fence(struct dma_resv *obj, struct dma_fence *fence) in dma_resv_add_excl_fence()
273 struct dma_fence *old_fence = dma_resv_get_excl(obj); in dma_resv_add_excl_fence()
314 struct dma_fence *old, *new; in dma_resv_copy_fences()
341 struct dma_fence *fence; in dma_resv_copy_fences()
400 struct dma_fence **pfence_excl, in dma_resv_get_fences_rcu()
[all …]
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()
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()
110 static void dma_fence_array_release(struct dma_fence *fence) in dma_fence_array_release()
151 struct dma_fence **fences, in dma_fence_array_create()
188 bool dma_fence_match_context(struct dma_fence *fence, u64 context) in dma_fence_match_context()
Dsync_file.c46 static void fence_check_cb_func(struct dma_fence *f, struct dma_fence_cb *cb) in fence_check_cb_func()
64 struct sync_file *sync_file_create(struct dma_fence *fence) in sync_file_create()
102 struct dma_fence *sync_file_get_fence(int fd) in sync_file_get_fence()
105 struct dma_fence *fence; in sync_file_get_fence()
136 struct dma_fence *fence = sync_file->fence; in sync_file_get_name()
149 struct dma_fence **fences, int num_fences) in sync_file_set_fence()
175 static struct dma_fence **get_fences(struct sync_file *sync_file, in get_fences()
189 static void add_fence(struct dma_fence **fences, in add_fence()
190 int *i, struct dma_fence *fence) in add_fence()
214 struct dma_fence **fences, **nfences, **a_fences, **b_fences; in sync_file_merge()
[all …]
/Linux-v5.4/include/drm/
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);
Dgpu_scheduler.h91 struct dma_fence *dependency;
94 struct dma_fence *last_scheduled;
126 struct dma_fence scheduled;
138 struct dma_fence finished;
145 struct dma_fence *parent;
161 struct drm_sched_fence *to_drm_sched_fence(struct dma_fence *f);
214 struct dma_fence *(*dependency)(struct drm_sched_job *sched_job,
223 struct dma_fence *(*run_job)(struct drm_sched_job *sched_job);
301 bool drm_sched_dependency_optimized(struct dma_fence* fence,
/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/
Damdgpu_sync.c37 struct dma_fence *fence;
65 struct dma_fence *f) in amdgpu_sync_same_dev()
86 static void *amdgpu_sync_get_owner(struct dma_fence *f) in amdgpu_sync_get_owner()
113 static void amdgpu_sync_keep_later(struct dma_fence **keep, in amdgpu_sync_keep_later()
114 struct dma_fence *fence) in amdgpu_sync_keep_later()
132 static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct dma_fence *f, bool explicit) in amdgpu_sync_add_later()
158 struct dma_fence *f, bool explicit) in amdgpu_sync_fence()
197 struct dma_fence *f; in amdgpu_sync_resv()
258 struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync, in amdgpu_sync_peek_fence()
266 struct dma_fence *f = e->fence; in amdgpu_sync_peek_fence()
[all …]
Damdgpu_sync.h29 struct dma_fence;
39 struct dma_fence *last_vm_update;
44 struct dma_fence *f, bool explicit);
50 struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
52 struct dma_fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync, bool *explicit);
Damdgpu_amdkfd_fence.c83 struct amdgpu_amdkfd_fence *to_amdgpu_amdkfd_fence(struct dma_fence *f) in to_amdgpu_amdkfd_fence()
97 static const char *amdkfd_fence_get_driver_name(struct dma_fence *f) in amdkfd_fence_get_driver_name()
102 static const char *amdkfd_fence_get_timeline_name(struct dma_fence *f) in amdkfd_fence_get_timeline_name()
115 static bool amdkfd_fence_enable_signaling(struct dma_fence *f) in amdkfd_fence_enable_signaling()
139 static void amdkfd_fence_release(struct dma_fence *f) in amdkfd_fence_release()
160 bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm) in amdkfd_fence_check_mm()
/Linux-v5.4/drivers/gpu/drm/vgem/
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()
/Linux-v5.4/drivers/gpu/drm/scheduler/
Dsched_fence.c75 static const char *drm_sched_fence_get_driver_name(struct dma_fence *fence) in drm_sched_fence_get_driver_name()
80 static const char *drm_sched_fence_get_timeline_name(struct dma_fence *f) in drm_sched_fence_get_timeline_name()
95 struct dma_fence *f = container_of(rcu, struct dma_fence, rcu); in drm_sched_fence_free()
109 static void drm_sched_fence_release_scheduled(struct dma_fence *f) in drm_sched_fence_release_scheduled()
124 static void drm_sched_fence_release_finished(struct dma_fence *f) in drm_sched_fence_release_finished()
143 struct drm_sched_fence *to_drm_sched_fence(struct dma_fence *f) in to_drm_sched_fence()
/Linux-v5.4/drivers/gpu/drm/i915/gem/
Di915_gem_fence.c11 struct dma_fence dma;
33 static const char *stub_driver_name(struct dma_fence *fence) in stub_driver_name()
38 static const char *stub_timeline_name(struct dma_fence *fence) in stub_timeline_name()
43 static void stub_release(struct dma_fence *fence) in stub_release()
59 struct dma_fence *
90 struct dma_fence *fence) in i915_gem_object_unlock_fence()
Di915_gem_wait.c16 i915_gem_object_wait_fence(struct dma_fence *fence, in i915_gem_object_wait_fence()
38 struct dma_fence *excl; in i915_gem_object_wait_reservation()
42 struct dma_fence **shared; in i915_gem_object_wait_reservation()
96 static void __fence_set_priority(struct dma_fence *fence, in __fence_set_priority()
116 static void fence_set_priority(struct dma_fence *fence, in fence_set_priority()
136 struct dma_fence *excl; in i915_gem_object_wait_priority()
139 struct dma_fence **shared; in i915_gem_object_wait_priority()
/Linux-v5.4/drivers/gpu/drm/lima/
Dlima_sched.c16 struct dma_fence base;
45 static inline struct lima_fence *to_lima_fence(struct dma_fence *fence) in to_lima_fence()
50 static const char *lima_fence_get_driver_name(struct dma_fence *fence) in lima_fence_get_driver_name()
55 static const char *lima_fence_get_timeline_name(struct dma_fence *fence) in lima_fence_get_timeline_name()
64 struct dma_fence *f = container_of(rcu, struct dma_fence, rcu); in lima_fence_release_rcu()
70 static void lima_fence_release(struct dma_fence *fence) in lima_fence_release()
138 struct dma_fence *fence; in lima_sched_task_fini()
173 struct dma_fence *lima_sched_context_queue_task(struct lima_sched_context *context, in lima_sched_context_queue_task()
176 struct dma_fence *fence = dma_fence_get(&task->base.s_fence->finished); in lima_sched_context_queue_task()
182 static struct dma_fence *lima_sched_dependency(struct drm_sched_job *job, in lima_sched_dependency()
[all …]
/Linux-v5.4/drivers/gpu/drm/msm/
Dmsm_fence.c91 struct dma_fence base;
95 static inline struct msm_fence *to_msm_fence(struct dma_fence *fence) in to_msm_fence()
100 static const char *msm_fence_get_driver_name(struct dma_fence *fence) in msm_fence_get_driver_name()
105 static const char *msm_fence_get_timeline_name(struct dma_fence *fence) in msm_fence_get_timeline_name()
111 static bool msm_fence_signaled(struct dma_fence *fence) in msm_fence_signaled()
123 struct dma_fence *
/Linux-v5.4/drivers/gpu/drm/panfrost/
Dpanfrost_job.h23 struct dma_fence **in_fences;
27 struct dma_fence *done_fence;
34 struct dma_fence **implicit_fences;
39 struct dma_fence *render_done_fence;
/Linux-v5.4/drivers/gpu/drm/virtio/
Dvirtgpu_fence.c30 static const char *virtio_get_driver_name(struct dma_fence *f) in virtio_get_driver_name()
35 static const char *virtio_get_timeline_name(struct dma_fence *f) in virtio_get_timeline_name()
40 bool virtio_fence_signaled(struct dma_fence *f) in virtio_fence_signaled()
49 static void virtio_fence_value_str(struct dma_fence *f, char *str, int size) in virtio_fence_value_str()
54 static void virtio_timeline_value_str(struct dma_fence *f, char *str, int size) in virtio_timeline_value_str()

1234567