| /src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/ |
| amdgpu_amdkfd_fence.c | 28 #include <linux/dma-fence.h> 40 /* Eviction Fence 41 * Fence helper functions to deal with KFD memory eviction. 45 * All the BOs in a process share an eviction fence. When process X wants 63 * user queues and signal fence. The work item will also start another delayed 70 struct amdgpu_amdkfd_fence *fence; local in function:amdgpu_amdkfd_fence_create 72 fence = kzalloc(sizeof(*fence), GFP_KERNEL); 73 if (fence == NULL) 78 fence->mm = mm 90 struct amdgpu_amdkfd_fence *fence; local in function:to_amdgpu_amdkfd_fence 109 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local in function:amdkfd_fence_get_timeline_name 122 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local in function:amdkfd_fence_enable_signaling 146 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local in function:amdkfd_fence_release 167 struct amdgpu_amdkfd_fence *fence = to_amdgpu_amdkfd_fence(f); local in function:amdkfd_fence_check_mm [all...] |
| /src/sys/external/bsd/drm2/dist/drm/vgem/ |
| vgem_fence.c | 43 static const char *vgem_fence_get_driver_name(struct dma_fence *fence) 48 static const char *vgem_fence_get_timeline_name(struct dma_fence *fence) 55 struct vgem_fence *fence = container_of(base, typeof(*fence), base); local in function:vgem_fence_release 57 del_timer_sync(&fence->timer); 58 dma_fence_free(&fence->base); 61 static void vgem_fence_value_str(struct dma_fence *fence, char *str, int size) 63 snprintf(str, size, "%llu", fence->seqno); 66 static void vgem_fence_timeline_value_str(struct dma_fence *fence, char *str, 70 dma_fence_is_signaled(fence) ? fence->seqno : 0) 84 struct vgem_fence *fence = from_timer(fence, t, timer); local in function:vgem_fence_timeout 92 struct vgem_fence *fence; local in function:vgem_fence_create 138 struct dma_fence *fence; local in function:vgem_fence_attach_ioctl 218 struct dma_fence *fence; local in function:vgem_fence_signal_ioctl [all...] |
| /src/sys/external/bsd/drm2/include/trace/events/ |
| dma_fence.h | 38 trace_dma_fence_emit(struct dma_fence *fence)
|
| /src/sys/external/bsd/drm2/linux/ |
| linux_dma_fence.c | 42 #include <linux/dma-fence.h> 51 SDT_PROBE_DEFINE1(sdt, drm, fence, init, 52 "struct dma_fence *"/*fence*/); 53 SDT_PROBE_DEFINE1(sdt, drm, fence, reset, 54 "struct dma_fence *"/*fence*/); 55 SDT_PROBE_DEFINE1(sdt, drm, fence, release, 56 "struct dma_fence *"/*fence*/); 57 SDT_PROBE_DEFINE1(sdt, drm, fence, free, 58 "struct dma_fence *"/*fence*/); 59 SDT_PROBE_DEFINE1(sdt, drm, fence, destroy 100 struct dma_fence fence; member in struct:__anon27c5b06a0108 253 struct dma_fence *fence = container_of(rcu, struct dma_fence, rcu); local in function:dma_fence_free_cb 423 struct dma_fence *fence; local in function:dma_fence_get_rcu_safe 454 struct dma_fence *fence = container_of(refcount, struct dma_fence, local in function:dma_fence_release [all...] |
| linux_dma_resv.c | 39 #include <linux/dma-fence.h> 107 robj->fence = NULL; 126 if (robj->fence) { 127 for (i = 0; i < robj->fence->shared_count; i++) { 128 dma_fence_put(robj->fence->shared[i]); 129 robj->fence->shared[i] = NULL; /* paranoia */ 131 objlist_free(robj->fence); 132 robj->fence = NULL; /* paranoia */ 284 * Return a pointer to the exclusive fence of the reservation 300 * Return a pointer to the shared fence list of the reservatio 523 struct dma_fence *fence; local in function:dma_resv_get_excl_reader 742 struct dma_fence *fence; local in function:dma_resv_get_excl_rcu 769 struct dma_fence *fence = NULL; local in function:dma_resv_get_fences_rcu 914 struct dma_fence *fence = NULL; local in function:dma_resv_copy_fences 1049 struct dma_fence *fence = NULL; local in function:dma_resv_test_signaled_rcu 1136 struct dma_fence *fence = NULL; local in function:dma_resv_wait_timeout_rcu 1292 struct dma_fence *fence = NULL; local in function:dma_resv_do_poll [all...] |
| linux_dma_fence_array.c | 37 #include <linux/dma-fence-array.h> 40 dma_fence_array_driver_name(struct dma_fence *fence) 46 dma_fence_array_timeline_name(struct dma_fence *fence) 52 dma_fence_array_done1(struct dma_fence *fence, struct dma_fence_cb *cb) 60 if (fence->error && A->base.error == 1) { 61 KASSERT(fence->error != 1); 62 A->base.error = fence->error; 89 dma_fence_array_enable_signaling(struct dma_fence *fence) 91 struct dma_fence_array *A = to_dma_fence_array(fence); 123 dma_fence_array_signaled(struct dma_fence *fence) [all...] |
| /src/sys/external/bsd/drm2/dist/drm/i915/ |
| i915_sw_fence.h | 14 #include <linux/dma-fence.h> 53 void __i915_sw_fence_init(struct i915_sw_fence *fence, 58 #define i915_sw_fence_init(fence, fn) \ 62 __i915_sw_fence_init((fence), (fn), #fence, &__key); \ 65 #define i915_sw_fence_init(fence, fn) \ 66 __i915_sw_fence_init((fence), (fn), NULL, NULL) 69 void i915_sw_fence_reinit(struct i915_sw_fence *fence); 71 void i915_sw_fence_fini(struct i915_sw_fence *fence); 73 void i915_sw_fence_commit(struct i915_sw_fence *fence); 90 struct i915_sw_fence *fence; member in struct:i915_sw_dma_fence_cb [all...] |
| i915_sw_fence.c | 13 #include <linux/dma-fence.h> 55 static inline void debug_fence_init(struct i915_sw_fence *fence) 57 debug_object_init(fence, &i915_sw_fence_debug_descr); 60 static inline void debug_fence_init_onstack(struct i915_sw_fence *fence) 62 debug_object_init_on_stack(fence, &i915_sw_fence_debug_descr); 65 static inline void debug_fence_activate(struct i915_sw_fence *fence) 67 debug_object_activate(fence, &i915_sw_fence_debug_descr); 70 static inline void debug_fence_set_state(struct i915_sw_fence *fence, 73 debug_object_active_state(fence, &i915_sw_fence_debug_descr, old, new); 76 static inline void debug_fence_deactivate(struct i915_sw_fence *fence) 162 struct i915_sw_fence *fence; member in struct:i915_sw_fence_wq 483 struct i915_sw_fence *fence; local in function:timer_i915_sw_fence_wake 504 struct i915_sw_fence *fence; local in function:dma_i915_sw_fence_wake_timer [all...] |
| i915_gem_fence_reg.c | 37 * DOC: fence register handling 56 * dynamically associated with objects. Furthermore fence state is committed to 60 * cases the fence can be removed forcefully with i915_gem_object_put_fence(). 68 static struct drm_i915_private *fence_to_i915(struct i915_fence_reg *fence) 70 return fence->ggtt->vm.i915; 73 static struct intel_uncore *fence_to_uncore(struct i915_fence_reg *fence) 75 return fence->ggtt->vm.gt->uncore; 78 static void i965_write_fence_reg(struct i915_fence_reg *fence, 85 if (INTEL_GEN(fence_to_i915(fence)) >= 6) { 86 fence_reg_lo = FENCE_REG_GEN6_LO(fence->id) 323 struct i915_fence_reg *fence = vma->fence; local in function:i915_vma_revoke_fence 337 struct i915_fence_reg *fence; local in function:fence_find 358 struct i915_fence_reg *fence; local in function:__i915_vma_pin_fence 451 struct i915_fence_reg *fence; local in function:i915_reserve_fence 876 struct i915_fence_reg *fence = &ggtt->fence_regs[i]; local in function:i915_ggtt_init_fences [all...] |
| i915_active.h | 23 * "fence registers" but pipeline synchronisation objects ala GL_ARB_sync. 32 * In order to use a fence, the object must track the fence it needs to 36 * complete, or waiting for the last GPU user of a "fence register". The 40 * track the most recent fence request, typically this is done as part of 50 void i915_active_noop(struct dma_fence *fence, struct dma_fence_cb *cb); 55 * @fence - initial fence to track, can be NULL 60 * an activity tracker, that is for tracking the last known active fence 61 * associated with it. When the last fence becomes idle, when it is retire 105 struct dma_fence *fence; local in function:i915_active_fence_get [all...] |
| i915_request.h | 30 #include <linux/dma-fence.h> 56 ENGINE_TRACE(rq__->engine, "fence %llx:%lld, current %d " fmt, \ 57 rq__->fence.context, rq__->fence.seqno, \ 156 struct dma_fence fence; member in struct:i915_request 198 * The submit fence is used to await upon all of the request's 221 * submit fence is signaled (it waits for all external events as well 302 static inline bool dma_fence_is_i915(const struct dma_fence *fence) 304 return fence->ops == &i915_fence_ops; 320 to_request(struct dma_fence *fence) [all...] |
| i915_sw_fence_work.c | 35 fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) 37 struct dma_fence_work *f = container_of(fence, typeof(*f), chain); 41 if (fence->error) 42 dma_fence_set_error(&f->dma, fence->error); 60 static const char *get_driver_name(struct dma_fence *fence) 62 return "dma-fence"; 65 static const char *get_timeline_name(struct dma_fence *fence) 67 struct dma_fence_work *f = container_of(fence, typeof(*f), dma); 72 static void fence_release(struct dma_fence *fence) 74 struct dma_fence_work *f = container_of(fence, typeof(*f), dma) [all...] |
| /src/sys/external/bsd/drm2/dist/drm/i915/selftests/ |
| lib_sw_fence.c | 32 /* Small library of different fence types useful for writing tests */ 35 nop_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) 40 void __onstack_fence_init(struct i915_sw_fence *fence, 44 debug_fence_init_onstack(fence); 46 __init_waitqueue_head(&fence->wait, name, key); 47 atomic_set(&fence->pending, 1); 48 fence->error = 0; 49 fence->flags = (unsigned long)nop_fence_notify; 52 void onstack_fence_fini(struct i915_sw_fence *fence) 54 if (!fence->flags 90 struct i915_sw_fence fence; member in struct:heap_fence [all...] |
| /src/sys/external/bsd/drm2/dist/drm/virtio/ |
| virtgpu_fence.c | 50 struct virtio_gpu_fence *fence = to_virtio_fence(f); local in function:virtio_fence_signaled 52 if (WARN_ON_ONCE(fence->f.seqno == 0)) 53 /* leaked fence outside driver before completing 56 if (atomic64_read(&fence->drv->last_seq) >= fence->f.seqno) 68 struct virtio_gpu_fence *fence = to_virtio_fence(f); local in function:virtio_timeline_value_str 70 snprintf(str, size, "%llu", (u64)atomic64_read(&fence->drv->last_seq)); 84 struct virtio_gpu_fence *fence = kzalloc(sizeof(struct virtio_gpu_fence), local in function:virtio_gpu_fence_alloc 86 if (!fence) 87 return fence; 123 struct virtio_gpu_fence *fence, *tmp; local in function:virtio_gpu_fence_event_process [all...] |
| /src/sys/external/bsd/drm2/dist/drm/nouveau/ |
| nouveau_fence.c | 51 from_fence(struct dma_fence *fence) 53 return container_of(fence, struct nouveau_fence, base); 57 nouveau_fctx(struct nouveau_fence *fence) 59 return container_of(fence->base.lock, struct nouveau_fence_chan, lock); 63 nouveau_fence_signal(struct nouveau_fence *fence) 67 dma_fence_signal_locked(&fence->base); 68 list_del(&fence->head); 69 rcu_assign_pointer(fence->channel, NULL); 71 if (test_bit(DMA_FENCE_FLAG_USER_BITS, &fence->base.flags)) { 72 struct nouveau_fence_chan *fctx = nouveau_fctx(fence); 99 struct nouveau_fence *fence; local in function:nouveau_fence_context_kill 147 struct nouveau_fence *fence; local in function:nouveau_fence_update 173 struct nouveau_fence *fence; local in function:nouveau_fence_wait_uevent_handler 277 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_wait_legacy 382 struct dma_fence *fence; local in function:nouveau_fence_sync 455 struct nouveau_fence *fence; local in function:nouveau_fence_new 480 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_get_timeline_name 494 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_is_signaled 510 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_no_signaling 535 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_release 553 struct nouveau_fence *fence = from_fence(f); local in function:nouveau_fence_enable_signaling [all...] |
| nouveau_nv04_fence.c | 45 nv04_fence_emit(struct nouveau_fence *fence) 47 struct nouveau_channel *chan = fence->channel; 51 OUT_RING (chan, fence->base.seqno); 58 nv04_fence_sync(struct nouveau_fence *fence, 76 struct nv04_fence_chan *fctx = chan->fence; 78 chan->fence = NULL; 91 chan->fence = fctx; 100 struct nv04_fence_priv *priv = drm->fence; 101 drm->fence = NULL; 110 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL) [all...] |
| nouveau_nv10_fence.c | 35 nv10_fence_emit(struct nouveau_fence *fence) 37 struct nouveau_channel *chan = fence->channel; 41 OUT_RING (chan, fence->base.seqno); 49 nv10_fence_sync(struct nouveau_fence *fence, 64 struct nv10_fence_chan *fctx = chan->fence; 67 chan->fence = NULL; 76 fctx = chan->fence = kzalloc(sizeof(*fctx), GFP_KERNEL); 90 struct nv10_fence_priv *priv = drm->fence; 95 drm->fence = NULL; 105 priv = drm->fence = kzalloc(sizeof(*priv), GFP_KERNEL) [all...] |
| /src/sys/external/bsd/drm2/dist/drm/scheduler/ |
| sched_fence.c | 61 void drm_sched_fence_scheduled(struct drm_sched_fence *fence) 63 int ret = dma_fence_signal(&fence->scheduled); 66 DMA_FENCE_TRACE(&fence->scheduled, 69 DMA_FENCE_TRACE(&fence->scheduled, 73 void drm_sched_fence_finished(struct drm_sched_fence *fence) 75 int ret = dma_fence_signal(&fence->finished); 78 DMA_FENCE_TRACE(&fence->finished, 81 DMA_FENCE_TRACE(&fence->finished, 85 static const char *drm_sched_fence_get_driver_name(struct dma_fence *fence) 92 struct drm_sched_fence *fence = to_drm_sched_fence(f) local in function:drm_sched_fence_get_timeline_name 106 struct drm_sched_fence *fence = to_drm_sched_fence(f); local in function:drm_sched_fence_free 123 struct drm_sched_fence *fence = to_drm_sched_fence(f); local in function:drm_sched_fence_release_scheduled 138 struct drm_sched_fence *fence = to_drm_sched_fence(f); local in function:drm_sched_fence_release_finished 170 struct drm_sched_fence *fence = NULL; local in function:drm_sched_fence_create [all...] |
| gpu_scheduler_trace.h | 42 __field(struct dma_fence *, fence) 52 __entry->fence = &sched_job->s_fence->finished; 58 TP_printk("entity=%p, id=%llu, fence=%p, ring=%s, job count:%u, hw job count:%d", 60 __entry->fence, __entry->name, 65 TP_PROTO(struct drm_sched_fence *fence), 66 TP_ARGS(fence), 68 __field(struct dma_fence *, fence) 72 __entry->fence = &fence->finished; 74 TP_printk("fence=%p signaled", __entry->fence [all...] |
| /src/sys/external/bsd/drm2/dist/drm/vmwgfx/ |
| vmwgfx_fence.h | 32 #include <linux/dma-fence.h> 33 #include <linux/dma-fence-array.h> 65 void (*destroy)(struct vmw_fence_obj *fence); 76 struct vmw_fence_obj *fence = *fence_p; local in function:vmw_fence_obj_unreference 79 if (fence) 80 dma_fence_put(&fence->base); 84 vmw_fence_obj_reference(struct vmw_fence_obj *fence) 86 if (fence) 87 dma_fence_get(&fence->base); 88 return fence; [all...] |
| vmwgfx_fence.c | 62 struct vmw_fence_obj fence; member in struct:vmw_user_fence 66 * struct vmw_event_fence_action - fence action that delivers a drm event. 69 * @action: A struct vmw_fence_action to hook up to a fence. 70 * @fence: A referenced pointer to the fence to keep it alive while @action 76 * current time tv_sec val when the fence signals. 78 * be assigned the current time tv_usec val when the fence signals. 84 struct vmw_fence_obj *fence; member in struct:vmw_event_fence_action 92 fman_from_fence(struct vmw_fence_obj *fence) 94 return container_of(fence->base.lock, struct vmw_fence_manager, lock) 121 struct vmw_fence_obj *fence = local in function:vmw_fence_obj_destroy 145 struct vmw_fence_obj *fence = local in function:vmw_fence_enable_signaling 187 struct vmw_fence_obj *fence = local in function:vmw_fence_wait 443 struct vmw_fence_obj *fence; local in function:vmw_fence_goal_new_locked 505 struct vmw_fence_obj *fence, *next_fence; local in function:__vmw_fences_update 592 struct vmw_fence_obj *fence; local in function:vmw_fence_create 632 struct vmw_fence_obj *fence = &ufence->fence; local in function:vmw_user_fence_base_release 770 struct vmw_fence_obj *fence = local in function:vmw_fence_fifo_down 845 struct vmw_fence_obj *fence; local in function:vmw_fence_obj_wait_ioctl 899 struct vmw_fence_obj *fence; local in function:vmw_fence_obj_signaled_ioctl 1150 struct vmw_fence_obj *fence = NULL; local in function:vmw_fence_event_ioctl [all...] |
| /src/sys/external/bsd/drm2/dist/include/drm/ |
| drm_syncobj.h | 31 #include <linux/dma-fence.h> 32 #include <linux/dma-fence-chain.h> 47 * @fence: 48 * NULL or a pointer to the fence bound to this object. 53 struct dma_fence __rcu *fence; member in struct:drm_syncobj 55 * @cb_list: List of callbacks to call when the &fence gets replaced. 59 * @lock: Protects &cb_list and write-locks &fence. 94 * drm_syncobj_fence_get - get a reference to a fence in a sync object 97 * This acquires additional reference to &drm_syncobj.fence contained in @obj, 102 * Either the fence of @obj or NULL if there's none 107 struct dma_fence *fence; local in function:drm_syncobj_fence_get [all...] |
| /src/common/lib/libc/arch/riscv/atomic/ |
| membar_ops.S | 35 fence rw,rw 42 fence r,rw 48 fence rw,w 54 fence rw,rw 60 fence rw,w 66 fence w,w 72 fence r,r
|
| /src/sys/external/bsd/drm2/dist/drm/radeon/ |
| radeon_sync.c | 60 * radeon_sync_fence - use the semaphore to sync to a fence 62 * @sync: sync object to add fence to 63 * @fence: fence to sync to 65 * Sync to the fence using the semaphore objects 68 struct radeon_fence *fence) 72 if (!fence) 75 other = sync->sync_to[fence->ring]; 76 sync->sync_to[fence->ring] = radeon_fence_later(fence, other) 100 struct radeon_fence *fence; local in function:radeon_sync_resv 149 struct radeon_fence *fence = sync->sync_to[i]; local in function:radeon_sync_rings [all...] |
| /src/sys/external/bsd/drm2/dist/drm/i915/gem/ |
| i915_gem_busy.c | 44 __busy_set_if_active(const struct dma_fence *fence, u32 (*flag)(u16 id)) 49 * We have to check the current hw status of the fence as the uABI 56 if (!dma_fence_is_i915(fence)) 60 rq = const_container_of(fence, struct i915_request, fence); 70 busy_check_reader(const struct dma_fence *fence) 72 return __busy_set_if_active(fence, __busy_read_flag); 76 busy_check_writer(const struct dma_fence *fence) 78 if (!fence) 81 return __busy_set_if_active(fence, __busy_write_id) 130 struct dma_fence *fence = local in function:i915_gem_busy_ioctl [all...] |