| /linux-6.15/drivers/gpu/drm/ |
| H A D | drm_syncobj.c | 256 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() 753 if (!syncobj) { in drm_syncobj_import_sync_file_fence() 1476 if (!syncobj) in drm_syncobj_eventfd_ioctl() [all …]
|
| /linux-6.15/include/drm/ |
| H A D | drm_syncobj.h | 107 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-6.15/drivers/gpu/drm/xe/ |
| H A D | xe_sync.c | 141 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle); in xe_sync_entry_parse() 142 if (XE_IOCTL_DBG(xe, !sync->syncobj)) in xe_sync_entry_parse() 146 sync->fence = drm_syncobj_fence_get(sync->syncobj); in xe_sync_entry_parse() 162 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle); in xe_sync_entry_parse() 163 if (XE_IOCTL_DBG(xe, !sync->syncobj)) in xe_sync_entry_parse() 171 sync->fence = drm_syncobj_fence_get(sync->syncobj); in xe_sync_entry_parse() 230 drm_syncobj_add_point(sync->syncobj, sync->chain_fence, in xe_sync_entry_signal() 237 } else if (sync->syncobj) { in xe_sync_entry_signal() 238 drm_syncobj_replace_fence(sync->syncobj, fence); in xe_sync_entry_signal() 258 if (sync->syncobj) in xe_sync_entry_cleanup() [all …]
|
| H A D | xe_sync_types.h | 18 struct drm_syncobj *syncobj; member
|
| /linux-6.15/drivers/gpu/drm/imagination/ |
| H A D | pvr_sync.c | 41 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()
|
| H A D | pvr_sync.h | 41 struct drm_syncobj *syncobj; member
|
| /linux-6.15/drivers/gpu/drm/v3d/ |
| H A D | v3d_submit.c | 259 drm_syncobj_replace_fence(se->out_syncs[i].syncobj, in v3d_attach_fences_and_unlock_reservation() 261 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_attach_fences_and_unlock_reservation() 319 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_put_multisync_post_deps() 352 se->out_syncs[i].syncobj = drm_syncobj_find(file_priv, in v3d_get_multisync_post_deps() 354 if (!se->out_syncs[i].syncobj) { in v3d_get_multisync_post_deps() 365 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_get_multisync_post_deps() 504 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_timestamp_query_params() 564 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_reset_timestamp_params() 634 if (!query_info->queries[i].syncobj) { in v3d_get_cpu_copy_query_results_params() 702 query->syncobj = drm_syncobj_find(file_priv, sync); in v3d_copy_query_info() [all …]
|
| H A D | v3d_sched.c | 84 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() 482 drm_syncobj_replace_fence(timestamp_query->queries[i].syncobj, in v3d_timestamp_query() 503 drm_syncobj_replace_fence(queries[i].syncobj, NULL); in v3d_reset_timestamp_queries() 548 fence = drm_syncobj_fence_get(queries[i].syncobj); in v3d_copy_query_results() 593 drm_syncobj_replace_fence(performance_query->queries[i].syncobj, NULL); in v3d_reset_performance_queries() 652 fence = drm_syncobj_fence_get(performance_query->queries[i].syncobj); in v3d_copy_performance_query()
|
| H A D | v3d_drv.h | 359 struct drm_syncobj *syncobj; member 367 struct drm_syncobj *syncobj; member 448 struct drm_syncobj *syncobj; member
|
| /linux-6.15/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_execbuffer.c | 2858 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 …]
|
| H A D | i915_gem_context_types.h | 273 struct drm_syncobj *syncobj; member
|
| H A D | i915_gem_context.c | 1295 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-6.15/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_submit.c | 23 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-6.15/drivers/gpu/drm/tegra/ |
| H A D | submit.c | 515 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-6.15/drivers/gpu/drm/msm/ |
| H A D | msm_gem_submit.c | 474 struct drm_syncobj *syncobj; member 600 post_deps[i].syncobj = in msm_parse_post_deps() 602 if (!post_deps[i].syncobj) { in msm_parse_post_deps() 611 if (post_deps[j].syncobj) in msm_parse_post_deps() 612 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps() 629 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps() 634 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps() 910 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
|
| /linux-6.15/drivers/accel/amdxdna/ |
| H A D | aie2_ctx.c | 116 fence = drm_syncobj_fence_get(hwctx->priv->syncobj); in aie2_cmd_get_out_fence() 486 struct drm_syncobj *syncobj; in aie2_ctx_syncobj_create() local 492 ret = drm_syncobj_create(&syncobj, 0, NULL); in aie2_ctx_syncobj_create() 497 ret = drm_syncobj_get_handle(filp, syncobj, &hdl); in aie2_ctx_syncobj_create() 499 drm_syncobj_put(syncobj); in aie2_ctx_syncobj_create() 503 hwctx->priv->syncobj = syncobj; in aie2_ctx_syncobj_create() 515 drm_syncobj_put(hwctx->priv->syncobj); in aie2_ctx_syncobj_destroy() 883 drm_syncobj_add_point(hwctx->priv->syncobj, chain, job->out_fence, *seq); in aie2_cmd_submit()
|
| H A D | aie2_pci.h | 150 struct drm_syncobj *syncobj; member
|
| /linux-6.15/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_cs.c | 518 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() 1269 drm_syncobj_add_point(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies() 1392 drm_syncobj_put(parser->post_deps[i].syncobj); in amdgpu_cs_parser_fini() 1568 struct drm_syncobj *syncobj; in amdgpu_cs_fence_to_handle_ioctl() local 1581 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl() 1586 drm_syncobj_put(syncobj); in amdgpu_cs_fence_to_handle_ioctl() 1590 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl() [all …]
|
| H A D | amdgpu_cs.h | 44 struct drm_syncobj *syncobj; member
|
| /linux-6.15/drivers/gpu/drm/panthor/ |
| H A D | panthor_drv.c | 249 struct drm_syncobj *syncobj; member 361 drm_syncobj_put(sig_sync->syncobj); in panthor_sync_signal_free() 397 sig_sync->syncobj = drm_syncobj_find(ctx->file, handle); in panthor_submit_ctx_add_sync_signal() 398 if (!sig_sync->syncobj) { in panthor_submit_ctx_add_sync_signal() 579 drm_syncobj_add_point(sig_sync->syncobj, sig_sync->chain, in panthor_submit_ctx_push_fences() 583 drm_syncobj_replace_fence(sig_sync->syncobj, sig_sync->fence); in panthor_submit_ctx_push_fences()
|
| H A D | panthor_sched.c | 2064 struct panthor_syncobj_64b *syncobj; in group_term_post_processing() local 2086 syncobj = group->syncobjs->kmap + (i * sizeof(*syncobj)); in group_term_post_processing() 2087 syncobj->status = ~0; in group_term_post_processing() 2462 } *syncobj; in panthor_queue_eval_syncwait() local 2466 syncobj = panthor_queue_get_syncwait_obj(group, queue); in panthor_queue_eval_syncwait() 2467 if (!syncobj) in panthor_queue_eval_syncwait() 2471 syncobj->sync64.seqno : in panthor_queue_eval_syncwait() 2472 syncobj->sync32.seqno; in panthor_queue_eval_syncwait() 2903 struct panthor_syncobj_64b *syncobj; in group_sync_upd_work() local 2908 syncobj = group->syncobjs->kmap + (queue_idx * sizeof(*syncobj)); in group_sync_upd_work() [all …]
|
| /linux-6.15/Documentation/gpu/ |
| H A D | drm-vm-bind-async.rst | 19 * ``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-6.15/drivers/gpu/drm/i915/ |
| H A D | Kconfig.debug | 55 select SW_SYNC # signaling validation framework (igt/syncobj*)
|