Home
last modified time | relevance | path

Searched refs:syncobj (Results 1 – 21 of 21) sorted by relevance

/linux/drivers/gpu/drm/
A Ddrm_syncobj.c256 if (syncobj) in drm_syncobj_find()
261 return syncobj; in drm_syncobj_find()
447 if (!syncobj) in drm_syncobj_find_fence()
537 kfree(syncobj); in drm_syncobj_free()
560 if (!syncobj) in drm_syncobj_create()
644 if (!syncobj) in drm_syncobj_destroy()
683 syncobj, 0); in drm_syncobj_get_fd()
703 if (!syncobj) in drm_syncobj_handle_to_fd()
756 if (!syncobj) { in drm_syncobj_import_sync_file_fence()
1479 if (!syncobj) in drm_syncobj_eventfd_ioctl()
[all …]
/linux/include/drm/
A Ddrm_syncobj.h107 drm_syncobj_fence_get(struct drm_syncobj *syncobj) in drm_syncobj_fence_get() argument
112 fence = dma_fence_get_rcu_safe(&syncobj->fence); in drm_syncobj_fence_get()
120 void drm_syncobj_add_point(struct drm_syncobj *syncobj,
124 void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
133 struct drm_syncobj *syncobj, u32 *handle);
134 int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd);
/linux/drivers/gpu/drm/xe/
A Dxe_sync.c135 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle); in xe_sync_entry_parse()
136 if (XE_IOCTL_DBG(xe, !sync->syncobj)) in xe_sync_entry_parse()
140 sync->fence = drm_syncobj_fence_get(sync->syncobj); in xe_sync_entry_parse()
156 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle); in xe_sync_entry_parse()
157 if (XE_IOCTL_DBG(xe, !sync->syncobj)) in xe_sync_entry_parse()
165 sync->fence = drm_syncobj_fence_get(sync->syncobj); in xe_sync_entry_parse()
223 drm_syncobj_add_point(sync->syncobj, sync->chain_fence, in xe_sync_entry_signal()
230 } else if (sync->syncobj) { in xe_sync_entry_signal()
231 drm_syncobj_replace_fence(sync->syncobj, fence); in xe_sync_entry_signal()
251 if (sync->syncobj) in xe_sync_entry_cleanup()
[all …]
A Dxe_sync_types.h18 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/imagination/
A Dpvr_sync.c41 drm_syncobj_put(sig_sync->syncobj); in pvr_sync_signal_free()
82 sig_sync->syncobj = drm_syncobj_find(file, handle); in pvr_sync_signal_array_add()
83 if (!sig_sync->syncobj) { in pvr_sync_signal_array_add()
196 drm_syncobj_add_point(sig_sync->syncobj, sig_sync->chain, in pvr_sync_signal_array_push_fences()
200 drm_syncobj_replace_fence(sig_sync->syncobj, sig_sync->fence); in pvr_sync_signal_array_push_fences()
A Dpvr_sync.h41 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/v3d/
A Dv3d_submit.c258 drm_syncobj_replace_fence(se->out_syncs[i].syncobj, in v3d_attach_fences_and_unlock_reservation()
260 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_attach_fences_and_unlock_reservation()
318 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_put_multisync_post_deps()
351 se->out_syncs[i].syncobj = drm_syncobj_find(file_priv, in v3d_get_multisync_post_deps()
353 if (!se->out_syncs[i].syncobj) { in v3d_get_multisync_post_deps()
364 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_get_multisync_post_deps()
503 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_timestamp_query_params()
563 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_reset_timestamp_params()
633 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_copy_query_results_params()
701 query->syncobj = drm_syncobj_find(file_priv, sync); in v3d_copy_query_info()
[all …]
A Dv3d_sched.c84 drm_syncobj_put(query_info->queries[i].syncobj); in v3d_timestamp_query_info_free()
98 drm_syncobj_put(query_info->queries[i].syncobj); in v3d_performance_query_info_free()
411 drm_syncobj_replace_fence(timestamp_query->queries[i].syncobj, in v3d_timestamp_query()
432 drm_syncobj_replace_fence(queries[i].syncobj, NULL); in v3d_reset_timestamp_queries()
477 fence = drm_syncobj_fence_get(queries[i].syncobj); in v3d_copy_query_results()
522 drm_syncobj_replace_fence(performance_query->queries[i].syncobj, NULL); in v3d_reset_performance_queries()
581 fence = drm_syncobj_fence_get(performance_query->queries[i].syncobj); in v3d_copy_performance_query()
A Dv3d_drv.h350 struct drm_syncobj *syncobj; member
358 struct drm_syncobj *syncobj; member
439 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/i915/gem/
A Di915_gem_execbuffer.c2858 if (!syncobj) { in add_timeline_fence_array()
2870 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2882 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2892 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2909 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2915 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2923 f->syncobj = ptr_pack_bits(syncobj, user_fence.flags, 2); in add_timeline_fence_array()
2977 if (!syncobj) { in add_fence_array()
2988 drm_syncobj_put(syncobj); in add_fence_array()
2996 f->syncobj = ptr_pack_bits(syncobj, user_fence.flags, 2); in add_fence_array()
[all …]
A Di915_gem_context_types.h273 struct drm_syncobj *syncobj; member
A Di915_gem_context.c1295 if (ctx->syncobj) in i915_gem_context_release_work()
1296 drm_syncobj_put(ctx->syncobj); in i915_gem_context_release_work()
1675 err = drm_syncobj_create(&ctx->syncobj, in i915_gem_create_context()
/linux/drivers/gpu/drm/virtio/
A Dvirtgpu_submit.c23 struct drm_syncobj *syncobj; member
180 drm_syncobj_put(post_deps[i].syncobj); in virtio_gpu_free_post_deps()
229 post_deps[i].syncobj = drm_syncobj_find(submit->file, in virtio_gpu_parse_post_deps()
231 if (!post_deps[i].syncobj) { in virtio_gpu_parse_post_deps()
260 drm_syncobj_add_point(post_deps[i].syncobj, in virtio_gpu_process_post_deps()
265 drm_syncobj_replace_fence(post_deps[i].syncobj, in virtio_gpu_process_post_deps()
/linux/drivers/gpu/drm/tegra/
A Dsubmit.c515 struct drm_syncobj *syncobj = NULL; in tegra_drm_ioctl_channel_submit() local
550 syncobj = drm_syncobj_find(file, args->syncobj_out); in tegra_drm_ioctl_channel_submit()
551 if (!syncobj) { in tegra_drm_ioctl_channel_submit()
648 if (syncobj) { in tegra_drm_ioctl_channel_submit()
655 drm_syncobj_replace_fence(syncobj, fence); in tegra_drm_ioctl_channel_submit()
679 if (syncobj) in tegra_drm_ioctl_channel_submit()
680 drm_syncobj_put(syncobj); in tegra_drm_ioctl_channel_submit()
/linux/drivers/gpu/drm/msm/
A Dmsm_gem_submit.c483 struct drm_syncobj *syncobj; member
609 post_deps[i].syncobj = in msm_parse_post_deps()
611 if (!post_deps[i].syncobj) { in msm_parse_post_deps()
620 if (post_deps[j].syncobj) in msm_parse_post_deps()
621 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps()
638 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps()
643 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps()
921 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
/linux/drivers/gpu/drm/amd/amdgpu/
A Damdgpu_cs.c518 p->post_deps[i].syncobj = in amdgpu_cs_p2_syncobj_out()
520 if (!p->post_deps[i].syncobj) in amdgpu_cs_p2_syncobj_out()
560 dep->syncobj = drm_syncobj_find(p->filp, in amdgpu_cs_p2_syncobj_timeline_signal()
562 if (!dep->syncobj) { in amdgpu_cs_p2_syncobj_timeline_signal()
1265 drm_syncobj_add_point(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies()
1388 drm_syncobj_put(parser->post_deps[i].syncobj); in amdgpu_cs_parser_fini()
1564 struct drm_syncobj *syncobj; in amdgpu_cs_fence_to_handle_ioctl() local
1577 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl()
1582 drm_syncobj_put(syncobj); in amdgpu_cs_fence_to_handle_ioctl()
1586 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl()
[all …]
A Damdgpu_cs.h44 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/panthor/
A Dpanthor_drv.c242 struct drm_syncobj *syncobj; member
354 drm_syncobj_put(sig_sync->syncobj); in panthor_sync_signal_free()
390 sig_sync->syncobj = drm_syncobj_find(ctx->file, handle); in panthor_submit_ctx_add_sync_signal()
391 if (!sig_sync->syncobj) { in panthor_submit_ctx_add_sync_signal()
572 drm_syncobj_add_point(sig_sync->syncobj, sig_sync->chain, in panthor_submit_ctx_push_fences()
576 drm_syncobj_replace_fence(sig_sync->syncobj, sig_sync->fence); in panthor_submit_ctx_push_fences()
A Dpanthor_sched.c2008 struct panthor_syncobj_64b *syncobj; in group_term_post_processing() local
2030 syncobj = group->syncobjs->kmap + (i * sizeof(*syncobj)); in group_term_post_processing()
2031 syncobj->status = ~0; in group_term_post_processing()
2406 } *syncobj; in panthor_queue_eval_syncwait() local
2410 syncobj = panthor_queue_get_syncwait_obj(group, queue); in panthor_queue_eval_syncwait()
2411 if (!syncobj) in panthor_queue_eval_syncwait()
2415 syncobj->sync64.seqno : in panthor_queue_eval_syncwait()
2416 syncobj->sync32.seqno; in panthor_queue_eval_syncwait()
2805 struct panthor_syncobj_64b *syncobj; in group_sync_upd_work() local
2810 syncobj = group->syncobjs->kmap + (queue_idx * sizeof(*syncobj)); in group_sync_upd_work()
[all …]
/linux/Documentation/gpu/
A Ddrm-vm-bind-async.rst19 * ``syncobj``: A container that abstracts synchronization objects. The
21 driver specific. A syncobj typically indicates the type of the
24 * ``in-syncobj``: Argument to a VM_BIND IOCTL, the VM_BIND operation waits
27 * ``out-syncobj``: Argument to a VM_BIND_IOCTL, the VM_BIND operation
/linux/drivers/gpu/drm/i915/
A DKconfig.debug55 select SW_SYNC # signaling validation framework (igt/syncobj*)

Completed in 83 milliseconds