Home
last modified time | relevance | path

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

/linux-6.1.9/drivers/gpu/drm/
Ddrm_syncobj.c212 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/
Ddrm_syncobj.h103 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/
Di915_gem_execbuffer.c239 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 …]
Di915_gem_context_types.h270 struct drm_syncobj *syncobj; member
Di915_gem_context.c1276 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/
Dsubmit.c520 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/
Damdgpu_cs.c524 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 …]
Damdgpu_cs.h41 struct drm_syncobj *syncobj; member
/linux-6.1.9/drivers/gpu/drm/msm/
Dmsm_gem_submit.c530 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/
Dv3d_gem.c563 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()
Dv3d_drv.h289 struct drm_syncobj *syncobj; member
/linux-6.1.9/drivers/gpu/drm/i915/
DKconfig.debug35 select SW_SYNC # signaling validation framework (igt/syncobj*)