/linux-6.1.9/drivers/gpu/drm/ |
D | drm_syncobj.c | 212 static void syncobj_wait_syncobj_func(struct drm_syncobj *syncobj, 226 struct drm_syncobj *syncobj; in drm_syncobj_find() local 231 syncobj = idr_find(&file_private->syncobj_idr, handle); in drm_syncobj_find() 232 if (syncobj) in drm_syncobj_find() 233 drm_syncobj_get(syncobj); in drm_syncobj_find() 237 return syncobj; in drm_syncobj_find() 241 static void drm_syncobj_fence_add_wait(struct drm_syncobj *syncobj, in drm_syncobj_fence_add_wait() argument 249 spin_lock(&syncobj->lock); in drm_syncobj_fence_add_wait() 254 fence = dma_fence_get(rcu_dereference_protected(syncobj->fence, 1)); in drm_syncobj_fence_add_wait() 257 list_add_tail(&wait->node, &syncobj->cb_list); in drm_syncobj_fence_add_wait() [all …]
|
/linux-6.1.9/include/drm/ |
D | drm_syncobj.h | 103 drm_syncobj_fence_get(struct drm_syncobj *syncobj) in drm_syncobj_fence_get() argument 108 fence = dma_fence_get_rcu_safe(&syncobj->fence); in drm_syncobj_fence_get() 116 void drm_syncobj_add_point(struct drm_syncobj *syncobj, 120 void drm_syncobj_replace_fence(struct drm_syncobj *syncobj, 129 struct drm_syncobj *syncobj, u32 *handle); 130 int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd);
|
/linux-6.1.9/drivers/gpu/drm/i915/gem/ |
D | i915_gem_execbuffer.c | 239 struct drm_syncobj *syncobj; /* Use with ptr_mask_bits() */ member 2772 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); in __free_fence_array() 2822 struct drm_syncobj *syncobj; in add_timeline_fence_array() local 2837 syncobj = drm_syncobj_find(eb->file, user_fence.handle); in add_timeline_fence_array() 2838 if (!syncobj) { in add_timeline_fence_array() 2843 fence = drm_syncobj_fence_get(syncobj); in add_timeline_fence_array() 2848 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2858 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2868 drm_syncobj_put(syncobj); in add_timeline_fence_array() 2884 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 | 1276 if (ctx->syncobj) in i915_gem_context_release_work() 1277 drm_syncobj_put(ctx->syncobj); in i915_gem_context_release_work() 1654 err = drm_syncobj_create(&ctx->syncobj, in i915_gem_create_context()
|
/linux-6.1.9/drivers/gpu/drm/tegra/ |
D | submit.c | 520 struct drm_syncobj *syncobj = NULL; in tegra_drm_ioctl_channel_submit() local 555 syncobj = drm_syncobj_find(file, args->syncobj_out); in tegra_drm_ioctl_channel_submit() 556 if (!syncobj) { in tegra_drm_ioctl_channel_submit() 661 if (syncobj) { in tegra_drm_ioctl_channel_submit() 668 drm_syncobj_replace_fence(syncobj, fence); in tegra_drm_ioctl_channel_submit() 693 if (syncobj) in tegra_drm_ioctl_channel_submit() 694 drm_syncobj_put(syncobj); in tegra_drm_ioctl_channel_submit()
|
/linux-6.1.9/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_cs.c | 524 p->post_deps[i].syncobj = in amdgpu_cs_p2_syncobj_out() 526 if (!p->post_deps[i].syncobj) in amdgpu_cs_p2_syncobj_out() 566 dep->syncobj = drm_syncobj_find(p->filp, in amdgpu_cs_p2_syncobj_timeline_signal() 568 if (!dep->syncobj) { in amdgpu_cs_p2_syncobj_timeline_signal() 1223 drm_syncobj_add_point(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies() 1228 drm_syncobj_replace_fence(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies() 1345 drm_syncobj_put(parser->post_deps[i].syncobj); in amdgpu_cs_parser_fini() 1527 struct drm_syncobj *syncobj; in amdgpu_cs_fence_to_handle_ioctl() local 1540 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl() 1544 r = drm_syncobj_get_handle(filp, syncobj, &info->out.handle); in amdgpu_cs_fence_to_handle_ioctl() [all …]
|
D | amdgpu_cs.h | 41 struct drm_syncobj *syncobj; member
|
/linux-6.1.9/drivers/gpu/drm/msm/ |
D | msm_gem_submit.c | 530 struct drm_syncobj *syncobj; member 663 post_deps[i].syncobj = in msm_parse_post_deps() 665 if (!post_deps[i].syncobj) { in msm_parse_post_deps() 674 if (post_deps[j].syncobj) in msm_parse_post_deps() 675 drm_syncobj_put(post_deps[j].syncobj); in msm_parse_post_deps() 692 drm_syncobj_add_point(post_deps[i].syncobj, in msm_process_post_deps() 697 drm_syncobj_replace_fence(post_deps[i].syncobj, in msm_process_post_deps() 953 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
|
/linux-6.1.9/drivers/gpu/drm/v3d/ |
D | v3d_gem.c | 563 drm_syncobj_replace_fence(se->out_syncs[i].syncobj, in v3d_attach_fences_and_unlock_reservation() 565 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_attach_fences_and_unlock_reservation() 580 drm_syncobj_put(se->out_syncs[i].syncobj); in v3d_put_multisync_post_deps() 613 se->out_syncs[i].syncobj = drm_syncobj_find(file_priv, in v3d_get_multisync_post_deps() 615 if (!se->out_syncs[i].syncobj) { in v3d_get_multisync_post_deps() 626 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.1.9/drivers/gpu/drm/i915/ |
D | Kconfig.debug | 35 select SW_SYNC # signaling validation framework (igt/syncobj*)
|