/linux-master/include/trace/events/ |
H A D | dma_fence.h | 14 TP_PROTO(struct dma_fence *fence), 16 TP_ARGS(fence), 19 __string(driver, fence->ops->get_driver_name(fence)) 20 __string(timeline, fence->ops->get_timeline_name(fence)) 26 __assign_str(driver, fence->ops->get_driver_name(fence)); 27 __assign_str(timeline, fence->ops->get_timeline_name(fence)); [all...] |
/linux-master/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_amdkfd_fence.c | 23 #include <linux/dma-fence.h> 41 * All the BOs in a process share an eviction fence. When process X wants 59 * user queues and signal fence. The work item will also start another delayed 67 struct amdgpu_amdkfd_fence *fence; local 69 fence = kzalloc(sizeof(*fence), GFP_KERNEL); 70 if (fence == NULL) 75 fence->mm = mm; 76 get_task_comm(fence->timeline_name, current); 77 spin_lock_init(&fence 87 struct amdgpu_amdkfd_fence *fence; local 106 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local 121 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local 149 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local 173 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local [all...] |
/linux-master/drivers/gpu/drm/i915/ |
H A D | i915_sw_fence.h | 12 #include <linux/dma-fence.h> 42 void __i915_sw_fence_init(struct i915_sw_fence *fence, 47 #define i915_sw_fence_init(fence, fn) \ 52 __i915_sw_fence_init((fence), (fn), #fence, &__key); \ 55 #define i915_sw_fence_init(fence, fn) \ 58 __i915_sw_fence_init((fence), (fn), NULL, NULL); \ 62 void i915_sw_fence_reinit(struct i915_sw_fence *fence); 65 void i915_sw_fence_fini(struct i915_sw_fence *fence); 67 static inline void i915_sw_fence_fini(struct i915_sw_fence *fence) {} argument 81 struct i915_sw_fence *fence; member in struct:i915_sw_dma_fence_cb 101 i915_sw_fence_signaled(const struct i915_sw_fence *fence) argument 106 i915_sw_fence_done(const struct i915_sw_fence *fence) argument 111 i915_sw_fence_wait(struct i915_sw_fence *fence) argument 117 i915_sw_fence_set_error_once(struct i915_sw_fence *fence, int error) argument [all...] |
H A D | i915_sw_fence.c | 8 #include <linux/dma-fence.h> 49 static inline void debug_fence_init(struct i915_sw_fence *fence) argument 51 debug_object_init(fence, &i915_sw_fence_debug_descr); 54 static inline void debug_fence_init_onstack(struct i915_sw_fence *fence) argument 56 debug_object_init_on_stack(fence, &i915_sw_fence_debug_descr); 59 static inline void debug_fence_activate(struct i915_sw_fence *fence) argument 61 debug_object_activate(fence, &i915_sw_fence_debug_descr); 64 static inline void debug_fence_set_state(struct i915_sw_fence *fence, argument 67 debug_object_active_state(fence, &i915_sw_fence_debug_descr, old, new); 70 static inline void debug_fence_deactivate(struct i915_sw_fence *fence) argument 75 debug_fence_destroy(struct i915_sw_fence *fence) argument 80 debug_fence_free(struct i915_sw_fence *fence) argument 86 debug_fence_assert(struct i915_sw_fence *fence) argument 93 debug_fence_init(struct i915_sw_fence *fence) argument 97 debug_fence_init_onstack(struct i915_sw_fence *fence) argument 101 debug_fence_activate(struct i915_sw_fence *fence) argument 105 debug_fence_set_state(struct i915_sw_fence *fence, int old, int new) argument 110 debug_fence_deactivate(struct i915_sw_fence *fence) argument 114 debug_fence_destroy(struct i915_sw_fence *fence) argument 118 debug_fence_free(struct i915_sw_fence *fence) argument 122 debug_fence_assert(struct i915_sw_fence *fence) argument 128 __i915_sw_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) argument 135 i915_sw_fence_fini(struct i915_sw_fence *fence) argument 141 __i915_sw_fence_wake_up_all(struct i915_sw_fence *fence, struct list_head *continuation) argument 191 __i915_sw_fence_complete(struct i915_sw_fence *fence, struct list_head *continuation) argument 212 i915_sw_fence_complete(struct i915_sw_fence *fence) argument 222 i915_sw_fence_await(struct i915_sw_fence *fence) argument 239 __i915_sw_fence_init(struct i915_sw_fence *fence, i915_sw_fence_notify_t fn, const char *name, struct lock_class_key *key) argument 253 i915_sw_fence_reinit(struct i915_sw_fence *fence) argument 263 i915_sw_fence_commit(struct i915_sw_fence *fence) argument 282 __i915_sw_fence_check_if_after(struct i915_sw_fence *fence, const struct i915_sw_fence * const signaler) argument 304 __i915_sw_fence_clear_checked_bit(struct i915_sw_fence *fence) argument 319 i915_sw_fence_check_if_after(struct i915_sw_fence *fence, const struct i915_sw_fence * const signaler) argument 333 i915_sw_fence_check_if_after(struct i915_sw_fence *fence, const struct i915_sw_fence * const signaler) argument 340 __i915_sw_fence_await_sw_fence(struct i915_sw_fence *fence, struct i915_sw_fence *signaler, wait_queue_entry_t *wq, gfp_t gfp) argument 396 i915_sw_fence_await_sw_fence(struct i915_sw_fence *fence, struct i915_sw_fence *signaler, wait_queue_entry_t *wq) argument 403 i915_sw_fence_await_sw_fence_gfp(struct i915_sw_fence *fence, struct i915_sw_fence *signaler, gfp_t gfp) argument 431 struct i915_sw_fence *fence; local 452 struct i915_sw_fence *fence; local 474 i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence, struct dma_fence *dma, unsigned long timeout, gfp_t gfp) argument 546 __i915_sw_fence_await_dma_fence(struct i915_sw_fence *fence, struct dma_fence *dma, struct i915_sw_dma_fence_cb *cb) argument 572 i915_sw_fence_await_reservation(struct i915_sw_fence *fence, struct dma_resv *resv, bool write, unsigned long timeout, gfp_t gfp) argument [all...] |
/linux-master/drivers/gpu/drm/i915/selftests/ |
H A D | lib_sw_fence.c | 27 /* Small library of different fence types useful for writing tests */ 30 nop_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) argument 35 void __onstack_fence_init(struct i915_sw_fence *fence, argument 39 debug_fence_init_onstack(fence); 41 __init_waitqueue_head(&fence->wait, name, key); 42 atomic_set(&fence->pending, 1); 43 fence->error = 0; 44 fence->fn = nop_fence_notify; 47 void onstack_fence_fini(struct i915_sw_fence *fence) argument 49 if (!fence 85 struct i915_sw_fence fence; member in struct:heap_fence 93 heap_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) argument 131 heap_fence_put(struct i915_sw_fence *fence) argument [all...] |
H A D | lib_sw_fence.h | 16 #define onstack_fence_init(fence) \ 20 __onstack_fence_init((fence), #fence, &__key); \ 23 #define onstack_fence_init(fence) \ 24 __onstack_fence_init((fence), NULL, NULL) 27 void __onstack_fence_init(struct i915_sw_fence *fence, 30 void onstack_fence_fini(struct i915_sw_fence *fence); 33 struct i915_sw_fence fence; member in struct:timed_fence 41 void heap_fence_put(struct i915_sw_fence *fence);
|
/linux-master/drivers/gpu/drm/v3d/ |
H A D | v3d_fence.c | 8 struct v3d_fence *fence; local 10 fence = kzalloc(sizeof(*fence), GFP_KERNEL); 11 if (!fence) 14 fence->dev = &v3d->drm; 15 fence->queue = queue; 16 fence->seqno = ++v3d->queue[queue].emit_seqno; 17 dma_fence_init(&fence->base, &v3d_fence_ops, &v3d->job_lock, 18 v3d->queue[queue].fence_context, fence->seqno); 20 return &fence 23 v3d_fence_get_driver_name(struct dma_fence *fence) argument 28 v3d_fence_get_timeline_name(struct dma_fence *fence) argument [all...] |
/linux-master/tools/testing/selftests/sync/ |
H A D | sync_alloc.c | 46 int timeline, fence, valid; local 52 fence = sw_sync_fence_create(timeline, "allocFence", 1); 53 valid = sw_sync_fence_is_valid(fence); 54 ASSERT(valid, "Failure allocating fence\n"); 56 sw_sync_fence_destroy(fence); 63 int fence, timeline; local 68 fence = sw_sync_fence_create(-1, "fence", 1); 69 ASSERT(fence < 0, "Success allocating negative fence\ [all...] |
H A D | sync_merge.c | 2 * sync fence merge tests 34 int fence, valid, merged; local 40 fence = sw_sync_fence_create(timeline, "allocFence", 5); 41 valid = sw_sync_fence_is_valid(fence); 42 ASSERT(valid, "Failure allocating fence\n"); 44 merged = sync_merge("mergeFence", fence, fence); 45 valid = sw_sync_fence_is_valid(fence); 46 ASSERT(valid, "Failure merging fence\n"); 49 "fence signale [all...] |
/linux-master/include/linux/ |
H A D | dma-fence.h | 32 * @refcount: refcount for this fence 33 * @ops: dma_fence_ops associated with this fence 34 * @rcu: used for releasing fence with kfree_rcu 37 * @context: execution context this fence belongs to, returned by 39 * @seqno: the sequence number of this fence inside the execution context, 40 * can be compared to decide which fence would be signaled later. 42 * @timestamp: Timestamp when the fence was signaled. 44 * dma_fence_signal, indicates that the fence has completed with an error. 50 * DMA_FENCE_FLAG_SIGNALED_BIT - fence is already signaled 51 * DMA_FENCE_FLAG_TIMESTAMP_BIT - timestamp recorded for fence signalin 294 dma_fence_put(struct dma_fence *fence) argument 306 dma_fence_get(struct dma_fence *fence) argument 320 dma_fence_get_rcu(struct dma_fence *fence) argument 348 struct dma_fence *fence; local 420 dma_fence_is_signaled_locked(struct dma_fence *fence) argument 450 dma_fence_is_signaled(struct dma_fence *fence) argument 557 dma_fence_get_status_locked(struct dma_fence *fence) argument 578 dma_fence_set_error(struct dma_fence *fence, int error) argument 595 dma_fence_timestamp(struct dma_fence *fence) argument 628 dma_fence_wait(struct dma_fence *fence, bool intr) argument 656 dma_fence_is_array(struct dma_fence *fence) argument 667 dma_fence_is_chain(struct dma_fence *fence) argument 680 dma_fence_is_container(struct dma_fence *fence) argument [all...] |
H A D | dma-fence-array.h | 3 * fence-array: aggregates fence to be waited together 15 #include <linux/dma-fence.h> 19 * struct dma_fence_array_cb - callback helper for fence array 20 * @cb: fence callback structure for signaling 21 * @array: reference to the parent fence array object 29 * struct dma_fence_array - fence to represent an array of fences 30 * @base: fence base class 31 * @lock: spinlock for fence handling 49 * to_dma_fence_array - cast a fence t 56 to_dma_fence_array(struct dma_fence *fence) argument [all...] |
H A D | dma-fence-chain.h | 3 * fence-chain: chain fences together in a timeline 13 #include <linux/dma-fence.h> 18 * struct dma_fence_chain - fence to represent an node of a fence chain 19 * @base: fence base class 20 * @prev: previous fence of the chain 22 * @fence: encapsulated fence 23 * @lock: spinlock for fence handling 29 struct dma_fence *fence; member in struct:dma_fence_chain 61 to_dma_fence_chain(struct dma_fence *fence) argument 77 dma_fence_chain_contained(struct dma_fence *fence) argument [all...] |
/linux-master/drivers/dma-buf/ |
H A D | dma-fence.c | 16 #include <linux/dma-fence.h> 31 * fence context counter: each execution context should have its own 32 * fence context, this allows checking if fences belong to the same 45 * A fence is initialized using dma_fence_init() and completed using 60 * fence to be updated. 69 * DOC: fence cross-driver contract 95 * This means any code required for fence completion cannot acquire a 100 * callbacks. This means any code required for fence completion cannot 105 * for fence completion cannot allocate memory with GFP_NOFS or GFP_NOIO. 114 static const char *dma_fence_stub_get_name(struct dma_fence *fence) argument 159 struct dma_fence *fence; local 367 dma_fence_signal_timestamp_locked(struct dma_fence *fence, ktime_t timestamp) argument 410 dma_fence_signal_timestamp(struct dma_fence *fence, ktime_t timestamp) argument 442 dma_fence_signal_locked(struct dma_fence *fence) argument 461 dma_fence_signal(struct dma_fence *fence) argument 501 dma_fence_wait_timeout(struct dma_fence *fence, bool intr, signed long timeout) argument 533 struct dma_fence *fence = local 573 dma_fence_free(struct dma_fence *fence) argument 579 __dma_fence_enable_signaling(struct dma_fence *fence) argument 611 dma_fence_enable_sw_signaling(struct dma_fence *fence) argument 643 dma_fence_add_callback(struct dma_fence *fence, struct dma_fence_cb *cb, dma_fence_func_t func) argument 685 dma_fence_get_status(struct dma_fence *fence) argument 717 dma_fence_remove_callback(struct dma_fence *fence, struct dma_fence_cb *cb) argument 740 dma_fence_default_wait_cb(struct dma_fence *fence, struct dma_fence_cb *cb) argument 761 dma_fence_default_wait(struct dma_fence *fence, bool intr, signed long timeout) argument 817 struct dma_fence *fence = fences[i]; local 876 struct dma_fence *fence = fences[i]; local 969 dma_fence_set_deadline(struct dma_fence *fence, ktime_t deadline) argument 983 dma_fence_describe(struct dma_fence *fence, struct seq_file *seq) argument 1008 dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops, spinlock_t *lock, u64 context, u64 seqno) argument [all...] |
H A D | Makefile | 2 obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \ 3 dma-fence-unwrap.o dma-resv.o 13 st-dma-fence.o \ 14 st-dma-fence-chain.o \ 15 st-dma-fence-unwrap.o \
|
/linux-master/drivers/gpu/drm/scheduler/ |
H A D | sched_fence.c | 50 struct dma_fence *fence) 55 * fence's parent set before test_bit() 57 smp_store_release(&s_fence->parent, dma_fence_get(fence)); 60 dma_fence_set_deadline(fence, s_fence->deadline); 63 void drm_sched_fence_scheduled(struct drm_sched_fence *fence, argument 66 /* Set the parent before signaling the scheduled fence, such that, 73 drm_sched_fence_set_parent(fence, parent); 75 dma_fence_signal(&fence->scheduled); 78 void drm_sched_fence_finished(struct drm_sched_fence *fence, int result) argument 81 dma_fence_set_error(&fence 49 drm_sched_fence_set_parent(struct drm_sched_fence *s_fence, struct dma_fence *fence) argument 85 drm_sched_fence_get_driver_name(struct dma_fence *fence) argument 92 struct drm_sched_fence *fence = to_drm_sched_fence(f); local 99 struct drm_sched_fence *fence = to_drm_sched_fence(f); local 113 drm_sched_fence_free(struct drm_sched_fence *fence) argument 130 struct drm_sched_fence *fence = to_drm_sched_fence(f); local 145 struct drm_sched_fence *fence = to_drm_sched_fence(f); local 153 struct drm_sched_fence *fence = to_drm_sched_fence(f); local 209 struct drm_sched_fence *fence = NULL; local 221 drm_sched_fence_init(struct drm_sched_fence *fence, struct drm_sched_entity *entity) argument [all...] |
/linux-master/drivers/gpu/drm/vc4/ |
H A D | vc4_fence.c | 26 static const char *vc4_fence_get_driver_name(struct dma_fence *fence) argument 31 static const char *vc4_fence_get_timeline_name(struct dma_fence *fence) argument 36 static bool vc4_fence_signaled(struct dma_fence *fence) argument 38 struct vc4_fence *f = to_vc4_fence(fence);
|
/linux-master/drivers/gpu/drm/vgem/ |
H A D | vgem_fence.c | 38 static const char *vgem_fence_get_driver_name(struct dma_fence *fence) argument 43 static const char *vgem_fence_get_timeline_name(struct dma_fence *fence) argument 50 struct vgem_fence *fence = container_of(base, typeof(*fence), base); local 52 del_timer_sync(&fence->timer); 53 dma_fence_free(&fence->base); 56 static void vgem_fence_value_str(struct dma_fence *fence, char *str, int size) argument 58 snprintf(str, size, "%llu", fence->seqno); 61 static void vgem_fence_timeline_value_str(struct dma_fence *fence, char *str, argument 65 dma_fence_is_signaled(fence) 79 struct vgem_fence *fence = from_timer(fence, t, timer); local 87 struct vgem_fence *fence; local 134 struct dma_fence *fence; local 211 struct dma_fence *fence; local [all...] |
/linux-master/drivers/gpu/drm/i915/gt/ |
H A D | intel_ggtt_fencing.c | 18 * DOC: fence register handling 37 * dynamically associated with objects. Furthermore fence state is committed to 41 * cases the fence can be removed forcefully with i915_gem_object_put_fence(). 49 static struct drm_i915_private *fence_to_i915(struct i915_fence_reg *fence) argument 51 return fence->ggtt->vm.i915; 54 static struct intel_uncore *fence_to_uncore(struct i915_fence_reg *fence) argument 56 return fence->ggtt->vm.gt->uncore; 59 static void i965_write_fence_reg(struct i915_fence_reg *fence) argument 65 if (GRAPHICS_VER(fence_to_i915(fence)) >= 6) { 66 fence_reg_lo = FENCE_REG_GEN6_LO(fence 113 i915_write_fence_reg(struct i915_fence_reg *fence) argument 147 i830_write_fence_reg(struct i915_fence_reg *fence) argument 172 fence_write(struct i915_fence_reg *fence) argument 195 gpu_uses_fence_registers(struct i915_fence_reg *fence) argument 200 fence_update(struct i915_fence_reg *fence, struct i915_vma *vma) argument 293 struct i915_fence_reg *fence = vma->fence; local 323 fence_is_active(const struct i915_fence_reg *fence) argument 331 struct i915_fence_reg *fence, *fn; local 364 struct i915_fence_reg *fence; local 456 struct i915_fence_reg *fence; local 491 i915_unreserve_fence(struct i915_fence_reg *fence) argument 873 struct i915_fence_reg *fence = &ggtt->fence_regs[i]; local 890 struct i915_fence_reg *fence = &ggtt->fence_regs[i]; local [all...] |
/linux-master/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_wait.c | 7 #include <linux/dma-fence-array.h> 8 #include <linux/dma-fence-chain.h> 18 i915_gem_object_wait_fence(struct dma_fence *fence, argument 24 if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) 27 if (dma_fence_is_i915(fence)) 28 return i915_request_wait_timeout(to_request(fence), flags, timeout); 30 return dma_fence_wait_timeout(fence, 39 struct dma_fence *fence; local 48 * we only happen to look at the final fence in the sequence (because 59 dma_resv_for_each_fence_unlocked(&cursor, fence) 72 struct dma_fence *fence; local 92 fence_set_priority(struct dma_fence *fence, const struct i915_sched_attr *attr) argument 110 __dma_fence_is_chain(const struct dma_fence *fence) argument 115 i915_gem_fence_wait_priority(struct dma_fence *fence, const struct i915_sched_attr *attr) argument 153 struct dma_fence *fence; local [all...] |
H A D | i915_gem_busy.c | 7 #include <linux/dma-fence-array.h> 41 __busy_set_if_active(struct dma_fence *fence, u32 (*flag)(u16 id)) argument 46 * We have to check the current hw status of the fence as the uABI 54 * 1. A composite fence (dma_fence_array) constructed of i915 requests 56 * composite fence into individual i915 requests and check the status of 61 if (dma_fence_is_array(fence)) { 62 struct dma_fence_array *array = to_dma_fence_array(fence); 69 /* Not an i915 fence, can't be busy per above */ 84 if (!dma_fence_is_i915(fence)) 87 rq = to_request(fence); 98 busy_check_reader(struct dma_fence *fence) argument 104 busy_check_writer(struct dma_fence *fence) argument 119 struct dma_fence *fence; local [all...] |
/linux-master/drivers/gpu/host1x/ |
H A D | intr.c | 11 #include "fence.h" 15 struct host1x_syncpt_fence *fence) 20 if ((s32)(fence_in_list->threshold - fence->threshold) <= 0) { 22 list_add(&fence->list, &fence_in_list->list); 28 list_add(&fence->list, &list->list); 33 struct host1x_syncpt_fence *fence; local 36 fence = list_first_entry(&sp->fences.list, struct host1x_syncpt_fence, list); 38 host1x_hw_intr_set_syncpt_threshold(host, sp->id, fence->threshold); 45 void host1x_intr_add_fence_locked(struct host1x *host, struct host1x_syncpt_fence *fence) argument 47 struct host1x_fence_list *fence_list = &fence 14 host1x_intr_add_fence_to_list(struct host1x_fence_list *list, struct host1x_syncpt_fence *fence) argument 55 host1x_intr_remove_fence(struct host1x *host, struct host1x_syncpt_fence *fence) argument 78 struct host1x_syncpt_fence *fence, *tmp; local [all...] |
/linux-master/drivers/gpu/drm/nouveau/ |
H A D | nouveau_fence.c | 42 from_fence(struct dma_fence *fence) argument 44 return container_of(fence, struct nouveau_fence, base); 48 nouveau_fctx(struct nouveau_fence *fence) argument 50 return container_of(fence->base.lock, struct nouveau_fence_chan, lock); 54 nouveau_fence_signal(struct nouveau_fence *fence) argument 58 dma_fence_signal_locked(&fence->base); 59 list_del(&fence->head); 60 rcu_assign_pointer(fence->channel, NULL); 62 if (test_bit(DMA_FENCE_FLAG_USER_BITS, &fence->base.flags)) { 63 struct nouveau_fence_chan *fctx = nouveau_fctx(fence); 74 nouveau_local_fence(struct dma_fence *fence, struct nouveau_drm *drm) argument 86 struct nouveau_fence *fence; local 133 struct nouveau_fence *fence; local 159 struct nouveau_fence *fence; local 220 nouveau_fence_emit(struct nouveau_fence *fence) argument 259 nouveau_fence_done(struct nouveau_fence *fence) argument 282 struct nouveau_fence *fence = from_fence(f); local 315 nouveau_fence_wait_busy(struct nouveau_fence *fence, bool intr) argument 340 nouveau_fence_wait(struct nouveau_fence *fence, bool lazy, bool intr) argument 373 struct dma_fence *fence; local 421 struct nouveau_fence *fence; local 453 nouveau_fence_get_get_driver_name(struct dma_fence *fence) argument 460 struct nouveau_fence *fence = from_fence(f); local 474 struct nouveau_fence *fence = from_fence(f); local 490 struct nouveau_fence *fence = from_fence(f); local 515 struct nouveau_fence *fence = from_fence(f); local 533 struct nouveau_fence *fence = from_fence(f); local [all...] |
/linux-master/drivers/gpu/drm/radeon/ |
H A D | radeon_sync.c | 55 * radeon_sync_fence - use the semaphore to sync to a fence 57 * @sync: sync object to add fence to 58 * @fence: fence to sync to 60 * Sync to the fence using the semaphore objects 63 struct radeon_fence *fence) 67 if (!fence) 70 other = sync->sync_to[fence->ring]; 71 sync->sync_to[fence->ring] = radeon_fence_later(fence, othe 62 radeon_sync_fence(struct radeon_sync *sync, struct radeon_fence *fence) argument 95 struct radeon_fence *fence; local 129 struct radeon_fence *fence = sync->sync_to[i]; local 196 radeon_sync_free(struct radeon_device *rdev, struct radeon_sync *sync, struct radeon_fence *fence) argument [all...] |
/linux-master/include/drm/ |
H A D | drm_syncobj.h | 29 #include <linux/dma-fence.h> 30 #include <linux/dma-fence-chain.h> 45 * @fence: 46 * NULL or a pointer to the fence bound to this object. 51 struct dma_fence __rcu *fence; member in struct:drm_syncobj 53 * @cb_list: List of callbacks to call when the &fence gets replaced. 61 * @lock: Protects &cb_list and &ev_fd_list, and write-locks &fence. 96 * drm_syncobj_fence_get - get a reference to a fence in a sync object 99 * This acquires additional reference to &drm_syncobj.fence contained in @obj, 104 * Either the fence o 109 struct dma_fence *fence; local [all...] |
/linux-master/drivers/gpu/drm/xe/ |
H A D | xe_hw_fence.c | 45 struct xe_hw_fence *fence = local 48 if (!WARN_ON_ONCE(!fence)) 49 kmem_cache_free(xe_hw_fence_slab, fence); 55 struct xe_hw_fence *fence, *next; local 61 list_for_each_entry_safe(fence, next, &irq->pending, irq_link) { 62 struct dma_fence *dma_fence = &fence->dma; 64 trace_xe_hw_fence_try_signal(fence); 66 trace_xe_hw_fence_signal(fence); 67 list_del_init(&fence->irq_link); 86 struct xe_hw_fence *fence, *nex local 142 xe_hw_fence_irq(struct xe_hw_fence *fence) argument 149 struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence); local 156 struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence); local 163 struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence); local 173 struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence); local 188 struct xe_hw_fence *fence = to_xe_hw_fence(dma_fence); local 203 to_xe_hw_fence(struct dma_fence *fence) argument 214 struct xe_hw_fence *fence; local [all...] |