Home
last modified time | relevance | path

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

/linux-6.6.21/drivers/gpu/drm/
Ddrm_syncobj.c217 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/
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-6.6.21/drivers/gpu/drm/i915/gem/
Di915_gem_execbuffer.c240 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 …]
Di915_gem_context_types.h270 struct drm_syncobj *syncobj; member
Di915_gem_context.c1280 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/
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-6.6.21/drivers/gpu/drm/tegra/
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-6.6.21/drivers/gpu/drm/amd/amdgpu/
Damdgpu_cs.c513 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 …]
Damdgpu_cs.h44 struct drm_syncobj *syncobj; member
/linux-6.6.21/drivers/gpu/drm/msm/
Dmsm_gem_submit.c573 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/
Dv3d_gem.c511 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()
Dv3d_drv.h289 struct drm_syncobj *syncobj; member
/linux-6.6.21/drivers/gpu/drm/i915/
DKconfig.debug35 select SW_SYNC # signaling validation framework (igt/syncobj*)
/linux-6.6.21/Documentation/gpu/rfc/
Dxe.rst83 resolve syncobj and dma-buf implicit sync dependencies. However, drm_scheduler is