| /OK3568_Linux_fs/kernel/drivers/dma-buf/ |
| H A D | dma-fence.c | 113 static const char *dma_fence_stub_get_name(struct dma_fence *fence) in dma_fence_stub_get_name() argument 332 int dma_fence_signal_timestamp_locked(struct dma_fence *fence, in dma_fence_signal_timestamp_locked() argument 338 lockdep_assert_held(fence->lock); in dma_fence_signal_timestamp_locked() 341 &fence->flags))) in dma_fence_signal_timestamp_locked() 345 list_replace(&fence->cb_list, &cb_list); in dma_fence_signal_timestamp_locked() 347 fence->timestamp = timestamp; in dma_fence_signal_timestamp_locked() 348 set_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &fence->flags); in dma_fence_signal_timestamp_locked() 349 trace_dma_fence_signaled(fence); in dma_fence_signal_timestamp_locked() 353 cur->func(fence, cur); in dma_fence_signal_timestamp_locked() 375 int dma_fence_signal_timestamp(struct dma_fence *fence, ktime_t timestamp) in dma_fence_signal_timestamp() argument [all …]
|
| H A D | dma-resv.c | 147 RCU_INIT_POINTER(obj->fence, NULL); in dma_resv_init() 169 fobj = rcu_dereference_protected(obj->fence, 1); in dma_resv_fini() 217 struct dma_fence *fence; in dma_resv_reserve_shared() local 219 fence = rcu_dereference_protected(old->shared[i], in dma_resv_reserve_shared() 221 if (dma_fence_is_signaled(fence)) in dma_resv_reserve_shared() 222 RCU_INIT_POINTER(new->shared[--k], fence); in dma_resv_reserve_shared() 224 RCU_INIT_POINTER(new->shared[j++], fence); in dma_resv_reserve_shared() 236 rcu_assign_pointer(obj->fence, new); in dma_resv_reserve_shared() 243 struct dma_fence *fence; in dma_resv_reserve_shared() local 245 fence = rcu_dereference_protected(new->shared[i], in dma_resv_reserve_shared() [all …]
|
| H A D | dma-fence-chain.c | 12 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence); 39 struct dma_fence *dma_fence_chain_walk(struct dma_fence *fence) in dma_fence_chain_walk() argument 44 chain = to_dma_fence_chain(fence); in dma_fence_chain_walk() 46 dma_fence_put(fence); in dma_fence_chain_walk() 54 if (!dma_fence_is_signaled(prev_chain->fence)) in dma_fence_chain_walk() 74 dma_fence_put(fence); in dma_fence_chain_walk() 112 static const char *dma_fence_chain_get_driver_name(struct dma_fence *fence) in dma_fence_chain_get_driver_name() argument 117 static const char *dma_fence_chain_get_timeline_name(struct dma_fence *fence) in dma_fence_chain_get_timeline_name() argument 144 static bool dma_fence_chain_enable_signaling(struct dma_fence *fence) in dma_fence_chain_enable_signaling() argument 146 struct dma_fence_chain *head = to_dma_fence_chain(fence); in dma_fence_chain_enable_signaling() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/ |
| H A D | i915_sw_fence.c | 42 static inline void debug_fence_init(struct i915_sw_fence *fence) in debug_fence_init() argument 44 debug_object_init(fence, &i915_sw_fence_debug_descr); in debug_fence_init() 47 static inline void debug_fence_init_onstack(struct i915_sw_fence *fence) in debug_fence_init_onstack() argument 49 debug_object_init_on_stack(fence, &i915_sw_fence_debug_descr); in debug_fence_init_onstack() 52 static inline void debug_fence_activate(struct i915_sw_fence *fence) in debug_fence_activate() argument 54 debug_object_activate(fence, &i915_sw_fence_debug_descr); in debug_fence_activate() 57 static inline void debug_fence_set_state(struct i915_sw_fence *fence, in debug_fence_set_state() argument 60 debug_object_active_state(fence, &i915_sw_fence_debug_descr, old, new); in debug_fence_set_state() 63 static inline void debug_fence_deactivate(struct i915_sw_fence *fence) in debug_fence_deactivate() argument 65 debug_object_deactivate(fence, &i915_sw_fence_debug_descr); in debug_fence_deactivate() [all …]
|
| H A D | i915_sw_fence.h | 41 void __i915_sw_fence_init(struct i915_sw_fence *fence, 46 #define i915_sw_fence_init(fence, fn) \ argument 50 __i915_sw_fence_init((fence), (fn), #fence, &__key); \ 53 #define i915_sw_fence_init(fence, fn) \ argument 54 __i915_sw_fence_init((fence), (fn), NULL, NULL) 57 void i915_sw_fence_reinit(struct i915_sw_fence *fence); 60 void i915_sw_fence_fini(struct i915_sw_fence *fence); 62 static inline void i915_sw_fence_fini(struct i915_sw_fence *fence) {} in i915_sw_fence_fini() argument 65 void i915_sw_fence_commit(struct i915_sw_fence *fence); 67 int i915_sw_fence_await_sw_fence(struct i915_sw_fence *fence, [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/gt/ |
| H A D | intel_ggtt_fencing.c | 61 static struct drm_i915_private *fence_to_i915(struct i915_fence_reg *fence) in fence_to_i915() argument 63 return fence->ggtt->vm.i915; in fence_to_i915() 66 static struct intel_uncore *fence_to_uncore(struct i915_fence_reg *fence) in fence_to_uncore() argument 68 return fence->ggtt->vm.gt->uncore; in fence_to_uncore() 71 static void i965_write_fence_reg(struct i915_fence_reg *fence) in i965_write_fence_reg() argument 77 if (INTEL_GEN(fence_to_i915(fence)) >= 6) { in i965_write_fence_reg() 78 fence_reg_lo = FENCE_REG_GEN6_LO(fence->id); in i965_write_fence_reg() 79 fence_reg_hi = FENCE_REG_GEN6_HI(fence->id); in i965_write_fence_reg() 83 fence_reg_lo = FENCE_REG_965_LO(fence->id); in i965_write_fence_reg() 84 fence_reg_hi = FENCE_REG_965_HI(fence->id); in i965_write_fence_reg() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/ |
| H A D | mali_kbase_sync_file.c | 60 struct fence *fence; in kbase_sync_fence_out_create() local 62 struct dma_fence *fence; in kbase_sync_fence_out_create() 67 fence = kbase_fence_out_new(katom); in kbase_sync_fence_out_create() 68 if (!fence) in kbase_sync_fence_out_create() 77 dma_fence_get(fence); in kbase_sync_fence_out_create() 81 sync_file = sync_file_create(fence); in kbase_sync_fence_out_create() 83 dma_fence_put(fence); in kbase_sync_fence_out_create() 103 struct fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd() local 105 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd() 108 if (!fence) in kbase_sync_fence_in_from_fd() [all …]
|
| H A D | mali_kbase_fence.c | 30 kbase_fence_get_driver_name(struct fence *fence) in kbase_fence_get_driver_name() argument 32 kbase_fence_get_driver_name(struct dma_fence *fence) in kbase_fence_get_driver_name() 40 kbase_fence_get_timeline_name(struct fence *fence) in kbase_fence_get_timeline_name() argument 42 kbase_fence_get_timeline_name(struct dma_fence *fence) in kbase_fence_get_timeline_name() 50 kbase_fence_enable_signaling(struct fence *fence) in kbase_fence_enable_signaling() argument 52 kbase_fence_enable_signaling(struct dma_fence *fence) in kbase_fence_enable_signaling() 60 kbase_fence_fence_value_str(struct fence *fence, char *str, int size) in kbase_fence_fence_value_str() argument 62 kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size) in kbase_fence_fence_value_str() 66 snprintf(str, size, "%u", fence->seqno); in kbase_fence_fence_value_str() 68 snprintf(str, size, "%llu", fence->seqno); in kbase_fence_fence_value_str() [all …]
|
| H A D | mali_kbase_sync_android.c | 222 struct sync_fence *fence; in kbase_sync_fence_out_create() local 247 fence = sync_fence_create("mali_fence", pt); in kbase_sync_fence_out_create() 248 if (!fence) { in kbase_sync_fence_out_create() 260 sync_fence_put(fence); in kbase_sync_fence_out_create() 266 sync_fence_put(fence); in kbase_sync_fence_out_create() 282 sync_fence_install(fence, fd); in kbase_sync_fence_out_create() 284 katom->fence = sync_fence_fdget(fd); in kbase_sync_fence_out_create() 285 if (katom->fence == NULL) { in kbase_sync_fence_out_create() 300 katom->fence = sync_fence_fdget(fd); in kbase_sync_fence_in_from_fd() 301 return katom->fence ? 0 : -ENOENT; in kbase_sync_fence_in_from_fd() [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | dma-fence.h | 105 typedef void (*dma_fence_func_t)(struct dma_fence *fence, 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); 262 void (*timeline_value_str)(struct dma_fence *fence, 266 void dma_fence_init(struct dma_fence *fence, const struct dma_fence_ops *ops, [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_fence.c | 44 from_fence(struct dma_fence *fence) in from_fence() argument 46 return container_of(fence, struct nouveau_fence, base); in from_fence() 50 nouveau_fctx(struct nouveau_fence *fence) in nouveau_fctx() argument 52 return container_of(fence->base.lock, struct nouveau_fence_chan, lock); in nouveau_fctx() 56 nouveau_fence_signal(struct nouveau_fence *fence) in nouveau_fence_signal() argument 60 dma_fence_signal_locked(&fence->base); in nouveau_fence_signal() 61 list_del(&fence->head); in nouveau_fence_signal() 62 rcu_assign_pointer(fence->channel, NULL); in nouveau_fence_signal() 64 if (test_bit(DMA_FENCE_FLAG_USER_BITS, &fence->base.flags)) { in nouveau_fence_signal() 65 struct nouveau_fence_chan *fctx = nouveau_fctx(fence); in nouveau_fence_signal() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/ |
| H A D | mali_kbase_sync_file.c | 62 struct fence *fence; in kbase_sync_fence_out_create() local 64 struct dma_fence *fence; in kbase_sync_fence_out_create() 69 fence = kbase_fence_out_new(katom); in kbase_sync_fence_out_create() 70 if (!fence) in kbase_sync_fence_out_create() 79 dma_fence_get(fence); in kbase_sync_fence_out_create() 83 sync_file = sync_file_create(fence); in kbase_sync_fence_out_create() 86 dma_fence_put(fence); in kbase_sync_fence_out_create() 107 struct fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd() local 109 struct dma_fence *fence = sync_file_get_fence(fd); in kbase_sync_fence_in_from_fd() 114 if (!fence) in kbase_sync_fence_in_from_fd() [all …]
|
| H A D | mali_kbase_fence.h | 68 struct fence base; 89 struct fence *kbase_fence_out_new(struct kbase_jd_atom *katom); 102 #define kbase_fence_fence_in_set(katom, fence) \ argument 105 (katom)->dma_fence.fence_in = fence; \ 119 if (katom->dma_fence.fence) { in kbase_fence_out_remove() 120 dma_fence_put(katom->dma_fence.fence); in kbase_fence_out_remove() 121 katom->dma_fence.fence = NULL; in kbase_fence_out_remove() 149 return katom->dma_fence.fence && in kbase_fence_out_is_ours() 150 katom->dma_fence.fence->ops == &kbase_fence_ops; in kbase_fence_out_is_ours() 166 fence_set_error(katom->dma_fence.fence, status); in kbase_fence_out_signal() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/vgem/ |
| H A D | vgem_fence.c | 38 static const char *vgem_fence_get_driver_name(struct dma_fence *fence) in vgem_fence_get_driver_name() argument 43 static const char *vgem_fence_get_timeline_name(struct dma_fence *fence) in vgem_fence_get_timeline_name() argument 50 struct vgem_fence *fence = container_of(base, typeof(*fence), base); in vgem_fence_release() local 52 del_timer_sync(&fence->timer); in vgem_fence_release() 53 dma_fence_free(&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() argument 58 snprintf(str, size, "%llu", fence->seqno); 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() argument 65 dma_fence_is_signaled(fence) ? fence->seqno : 0); in vgem_fence_timeline_value_str() 79 struct vgem_fence *fence = from_timer(fence, t, timer); in vgem_fence_timeout() local [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/mali400/mali/linux/ |
| H A D | mali_dma_fence.c | 23 static bool mali_dma_fence_enable_signaling(struct dma_fence *fence) in mali_dma_fence_enable_signaling() argument 25 MALI_IGNORE(fence); in mali_dma_fence_enable_signaling() 29 static const char *mali_dma_fence_get_driver_name(struct dma_fence *fence) in mali_dma_fence_get_driver_name() argument 31 MALI_IGNORE(fence); in mali_dma_fence_get_driver_name() 35 static const char *mali_dma_fence_get_timeline_name(struct dma_fence *fence) in mali_dma_fence_get_timeline_name() argument 37 MALI_IGNORE(fence); in mali_dma_fence_get_timeline_name() 50 static bool mali_dma_fence_enable_signaling(struct fence *fence) in mali_dma_fence_enable_signaling() argument 52 MALI_IGNORE(fence); in mali_dma_fence_enable_signaling() 56 static const char *mali_dma_fence_get_driver_name(struct fence *fence) in mali_dma_fence_get_driver_name() argument 58 MALI_IGNORE(fence); in mali_dma_fence_get_driver_name() [all …]
|
| H A D | mali_internal_sync.c | 39 static struct mali_internal_sync_point *mali_internal_fence_to_sync_pt(struct dma_fence *fence) in mali_internal_fence_to_sync_pt() argument 41 static struct mali_internal_sync_point *mali_internal_fence_to_sync_pt(struct fence *fence) in mali_internal_fence_to_sync_pt() 44 MALI_DEBUG_ASSERT_POINTER(fence); in mali_internal_fence_to_sync_pt() 45 return container_of(fence, struct mali_internal_sync_point, base); in mali_internal_fence_to_sync_pt() 69 static void mali_internal_fence_check_cb_func(struct fence *fence, struct fence_cb *cb) in mali_internal_fence_check_cb_func() argument 71 static void mali_internal_fence_check_cb_func(struct dma_fence *fence, struct dma_fence_cb *cb) in mali_internal_fence_check_cb_func() 82 MALI_IGNORE(fence); in mali_internal_fence_check_cb_func() 95 ret = sync_fence->fence->ops->signaled(sync_fence->fence); in mali_internal_fence_check_cb_func() 98 …MALI_PRINT_ERROR(("Mali internal sync:Failed to wait fence 0x%x for sync_fence 0x%x.\n", fence, s… in mali_internal_fence_check_cb_func() 105 …i_internal_sync_fence_add_fence(struct mali_internal_sync_fence *sync_fence, struct fence *sync_pt) in mali_internal_sync_fence_add_fence() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/vmwgfx/ |
| H A D | vmwgfx_fence.c | 55 struct vmw_fence_obj fence; member 77 struct vmw_fence_obj *fence; member 85 fman_from_fence(struct vmw_fence_obj *fence) in fman_from_fence() argument 87 return container_of(fence->base.lock, struct vmw_fence_manager, lock); in fman_from_fence() 114 struct vmw_fence_obj *fence = in vmw_fence_obj_destroy() local 117 struct vmw_fence_manager *fman = fman_from_fence(fence); in vmw_fence_obj_destroy() 120 list_del_init(&fence->head); in vmw_fence_obj_destroy() 123 fence->destroy(fence); in vmw_fence_obj_destroy() 138 struct vmw_fence_obj *fence = in vmw_fence_enable_signaling() local 141 struct vmw_fence_manager *fman = fman_from_fence(fence); in vmw_fence_enable_signaling() [all …]
|
| /OK3568_Linux_fs/kernel/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)) 28 __entry->context = fence->context; 29 __entry->seqno = fence->seqno; 39 TP_PROTO(struct dma_fence *fence), 41 TP_ARGS(fence) [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/scheduler/ |
| H A D | sched_fence.c | 51 void drm_sched_fence_scheduled(struct drm_sched_fence *fence) in drm_sched_fence_scheduled() argument 53 int ret = dma_fence_signal(&fence->scheduled); in drm_sched_fence_scheduled() 56 DMA_FENCE_TRACE(&fence->scheduled, in drm_sched_fence_scheduled() 59 DMA_FENCE_TRACE(&fence->scheduled, in drm_sched_fence_scheduled() 63 void drm_sched_fence_finished(struct drm_sched_fence *fence) in drm_sched_fence_finished() argument 65 int ret = dma_fence_signal(&fence->finished); in drm_sched_fence_finished() 68 DMA_FENCE_TRACE(&fence->finished, in drm_sched_fence_finished() 71 DMA_FENCE_TRACE(&fence->finished, in drm_sched_fence_finished() 75 static const char *drm_sched_fence_get_driver_name(struct dma_fence *fence) in drm_sched_fence_get_driver_name() argument 82 struct drm_sched_fence *fence = to_drm_sched_fence(f); in drm_sched_fence_get_timeline_name() local [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/selftests/ |
| H A D | lib_sw_fence.c | 30 nop_fence_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state) in nop_fence_notify() argument 35 void __onstack_fence_init(struct i915_sw_fence *fence, in __onstack_fence_init() argument 39 debug_fence_init_onstack(fence); in __onstack_fence_init() 41 __init_waitqueue_head(&fence->wait, name, key); in __onstack_fence_init() 42 atomic_set(&fence->pending, 1); in __onstack_fence_init() 43 fence->error = 0; in __onstack_fence_init() 44 fence->flags = (unsigned long)nop_fence_notify; in __onstack_fence_init() 47 void onstack_fence_fini(struct i915_sw_fence *fence) in onstack_fence_fini() argument 49 if (!fence->flags) in onstack_fence_fini() 52 i915_sw_fence_commit(fence); in onstack_fence_fini() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_amdkfd_fence.c | 65 struct amdgpu_amdkfd_fence *fence; in amdgpu_amdkfd_fence_create() local 67 fence = kzalloc(sizeof(*fence), GFP_KERNEL); in amdgpu_amdkfd_fence_create() 68 if (fence == NULL) in amdgpu_amdkfd_fence_create() 73 fence->mm = mm; in amdgpu_amdkfd_fence_create() 74 get_task_comm(fence->timeline_name, current); in amdgpu_amdkfd_fence_create() 75 spin_lock_init(&fence->lock); in amdgpu_amdkfd_fence_create() 77 dma_fence_init(&fence->base, &amdkfd_fence_ops, &fence->lock, in amdgpu_amdkfd_fence_create() 80 return fence; in amdgpu_amdkfd_fence_create() 85 struct amdgpu_amdkfd_fence *fence; in to_amdgpu_amdkfd_fence() local 90 fence = container_of(f, struct amdgpu_amdkfd_fence, base); in to_amdgpu_amdkfd_fence() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/radeon/ |
| H A D | radeon_fence.c | 136 struct radeon_fence **fence, in radeon_fence_emit() argument 142 *fence = kmalloc(sizeof(struct radeon_fence), GFP_KERNEL); in radeon_fence_emit() 143 if ((*fence) == NULL) { in radeon_fence_emit() 146 (*fence)->rdev = rdev; in radeon_fence_emit() 147 (*fence)->seq = seq = ++rdev->fence_drv[ring].sync_seq[ring]; in radeon_fence_emit() 148 (*fence)->ring = ring; in radeon_fence_emit() 149 (*fence)->is_vm_update = false; in radeon_fence_emit() 150 dma_fence_init(&(*fence)->base, &radeon_fence_ops, in radeon_fence_emit() 154 radeon_fence_ring_emit(rdev, ring, *fence); in radeon_fence_emit() 155 trace_radeon_fence_emit(rdev->ddev, ring, (*fence)->seq); in radeon_fence_emit() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_fence.c | 45 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_fence_signaled() local 47 if (WARN_ON_ONCE(fence->f.seqno == 0)) in virtio_fence_signaled() 51 if (atomic64_read(&fence->drv->last_seq) >= fence->f.seqno) in virtio_fence_signaled() 63 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_timeline_value_str() local 65 snprintf(str, size, "%llu", (u64)atomic64_read(&fence->drv->last_seq)); in virtio_timeline_value_str() 79 struct virtio_gpu_fence *fence = kzalloc(sizeof(struct virtio_gpu_fence), in virtio_gpu_fence_alloc() local 81 if (!fence) in virtio_gpu_fence_alloc() 82 return fence; in virtio_gpu_fence_alloc() 84 fence->drv = drv; in virtio_gpu_fence_alloc() 90 dma_fence_init(&fence->f, &virtio_fence_ops, &drv->lock, drv->context, 0); in virtio_gpu_fence_alloc() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/video/rockchip/rga3/include/ |
| H A D | rga_fence.h | 29 int rga_dma_fence_get_fd(struct dma_fence *fence); 31 int rga_dma_fence_wait(struct dma_fence *fence); 32 int rga_dma_fence_add_callback(struct dma_fence *fence, dma_fence_func_t func, void *private); 35 static inline void rga_dma_fence_put(struct dma_fence *fence) in rga_dma_fence_put() argument 37 if (fence) in rga_dma_fence_put() 38 dma_fence_put(fence); in rga_dma_fence_put() 41 static inline void rga_dma_fence_signal(struct dma_fence *fence, int error) in rga_dma_fence_signal() argument 43 if (fence) { in rga_dma_fence_signal() 45 dma_fence_set_error(fence, error); in rga_dma_fence_signal() 46 dma_fence_signal(fence); in rga_dma_fence_signal() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/ |
| H A D | drm_syncobj.c | 206 struct dma_fence *fence; member 243 struct dma_fence *fence; in drm_syncobj_fence_add_wait() local 245 if (wait->fence) in drm_syncobj_fence_add_wait() 253 fence = dma_fence_get(rcu_dereference_protected(syncobj->fence, 1)); in drm_syncobj_fence_add_wait() 254 if (!fence || dma_fence_chain_find_seqno(&fence, wait->point)) { in drm_syncobj_fence_add_wait() 255 dma_fence_put(fence); in drm_syncobj_fence_add_wait() 257 } else if (!fence) { in drm_syncobj_fence_add_wait() 258 wait->fence = dma_fence_get_stub(); in drm_syncobj_fence_add_wait() 260 wait->fence = fence; in drm_syncobj_fence_add_wait() 287 struct dma_fence *fence, in drm_syncobj_add_point() argument [all …]
|