/linux-6.6.21/drivers/gpu/drm/ |
D | drm_syncobj.c | 217 static void syncobj_wait_syncobj_func(struct drm_syncobj *syncobj, 224 struct drm_syncobj *syncobj; member 231 syncobj_eventfd_entry_func(struct drm_syncobj *syncobj, 245 struct drm_syncobj *syncobj; in drm_syncobj_find() local 250 syncobj = idr_find(&file_private->syncobj_idr, handle); in drm_syncobj_find() 251 if (syncobj) in drm_syncobj_find() 252 drm_syncobj_get(syncobj); in drm_syncobj_find() 256 return syncobj; in drm_syncobj_find() 260 static void drm_syncobj_fence_add_wait(struct drm_syncobj *syncobj, in drm_syncobj_fence_add_wait() argument 268 spin_lock(&syncobj->lock); in drm_syncobj_fence_add_wait() [all …]
|
/linux-6.6.21/include/drm/ |
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.6.21/drivers/gpu/drm/i915/gem/ |
D | i915_gem_execbuffer.c | 240 struct drm_syncobj *syncobj; /* Use with ptr_mask_bits() */ member 2799 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); in __free_fence_array() 2849 struct drm_syncobj *syncobj; in add_timeline_fence_array() local 2864 syncobj = drm_syncobj_find(eb->file, user_fence.handle); in add_timeline_fence_array() 2865 if (!syncobj) { in add_timeline_fence_array() 2871 fence = drm_syncobj_fence_get(syncobj); in add_timeline_fence_array() 2877 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2889 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2899 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2916 drm_syncobj_put(syncobj); in add_timeline_fence_array() [all …]
|
D | i915_gem_context_types.h | 270 struct drm_syncobj *syncobj; member
|
D | i915_gem_context.c | 1280 if (ctx->syncobj) in i915_gem_context_release_work() 1281 drm_syncobj_put(ctx->syncobj); in i915_gem_context_release_work() 1658 err = drm_syncobj_create(&ctx->syncobj, in i915_gem_create_context()
|
/linux-6.6.21/drivers/gpu/drm/virtio/ |
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.6.21/drivers/gpu/drm/tegra/ |
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.6.21/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_cs.c | 513 p->post_deps[i].syncobj = in amdgpu_cs_p2_syncobj_out() 515 if (!p->post_deps[i].syncobj) in amdgpu_cs_p2_syncobj_out() 555 dep->syncobj = drm_syncobj_find(p->filp, in amdgpu_cs_p2_syncobj_timeline_signal() 557 if (!dep->syncobj) { in amdgpu_cs_p2_syncobj_timeline_signal() 1237 drm_syncobj_add_point(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies() 1242 drm_syncobj_replace_fence(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies() 1360 drm_syncobj_put(parser->post_deps[i].syncobj); in amdgpu_cs_parser_fini() 1537 struct drm_syncobj *syncobj; in amdgpu_cs_fence_to_handle_ioctl() local 1550 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl() 1554 r = drm_syncobj_get_handle(filp, syncobj, &info->out.handle); in amdgpu_cs_fence_to_handle_ioctl() [all …]
|
D | amdgpu_cs.h | 44 struct drm_syncobj *syncobj; member
|
/linux-6.6.21/drivers/gpu/drm/msm/ |
D | msm_gem_submit.c | 573 struct drm_syncobj *syncobj; member 699 post_deps[i].syncobj = in msm_parse_post_deps() 701 if (!post_deps[i].syncobj) { in msm_parse_post_deps() 710 if (post_deps[j].syncobj) in msm_parse_post_deps() 711 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps() 728 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps() 733 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps() 1016 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
|
/linux-6.6.21/drivers/gpu/drm/v3d/ |
D | v3d_gem.c | 511 drm_syncobj_replace_fence(se->out_syncs[i].syncobj, in v3d_attach_fences_and_unlock_reservation() 513 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_attach_fences_and_unlock_reservation() 528 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_put_multisync_post_deps() 561 se->out_syncs[i].syncobj = drm_syncobj_find(file_priv, in v3d_get_multisync_post_deps() 563 if (!se->out_syncs[i].syncobj) { in v3d_get_multisync_post_deps() 574 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_get_multisync_post_deps()
|
D | v3d_drv.h | 289 struct drm_syncobj *syncobj; member
|
/linux-6.6.21/drivers/gpu/drm/i915/ |
D | Kconfig.debug | 35 select SW_SYNC # signaling validation framework (igt/syncobj*)
|
/linux-6.6.21/Documentation/gpu/rfc/ |
D | xe.rst | 83 resolve syncobj and dma-buf implicit sync dependencies. However, drm_scheduler is
|