Home
last modified time | relevance | path

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

/linux/include/drm/
H A 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/drivers/gpu/drm/imagination/
H A Dpvr_sync.c41 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 Dpvr_sync.h41 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_execbuffer.c239 struct drm_syncobj *syncobj; /* Use with ptr_mask_bits() */ member
2778 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2)); in __free_fence_array()
2828 struct drm_syncobj *syncobj; in add_timeline_fence_array() local
2843 syncobj = drm_syncobj_find(eb->file, user_fence.handle); in add_timeline_fence_array()
2844 if (!syncobj) { in add_timeline_fence_array()
2850 fence = drm_syncobj_fence_get(syncobj); in add_timeline_fence_array()
2856 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2868 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2878 drm_syncobj_put(syncobj); in add_timeline_fence_array()
2895 drm_syncobj_put(syncobj); in add_timeline_fence_array()
[all …]
/linux/drivers/gpu/drm/virtio/
H A 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/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_userq_fence.c467 struct drm_syncobj **syncobj = NULL; in amdgpu_userq_signal_ioctl() local
486 syncobj = kmalloc_array(num_syncobj_handles, sizeof(*syncobj), GFP_KERNEL); in amdgpu_userq_signal_ioctl()
487 if (!syncobj) { in amdgpu_userq_signal_ioctl()
493 syncobj[entry] = drm_syncobj_find(filp, syncobj_handles[entry]); in amdgpu_userq_signal_ioctl()
494 if (!syncobj[entry]) { in amdgpu_userq_signal_ioctl()
614 drm_syncobj_replace_fence(syncobj[i], fence); in amdgpu_userq_signal_ioctl()
635 if (syncobj[entry]) in amdgpu_userq_signal_ioctl()
636 drm_syncobj_put(syncobj[entry]); in amdgpu_userq_signal_ioctl()
637 kfree(syncobj); in amdgpu_userq_signal_ioctl()
H A Damdgpu_cs.c535 p->post_deps[i].syncobj = in amdgpu_cs_p2_syncobj_out()
537 if (!p->post_deps[i].syncobj) in amdgpu_cs_p2_syncobj_out()
577 dep->syncobj = drm_syncobj_find(p->filp, in amdgpu_cs_p2_syncobj_timeline_signal()
579 if (!dep->syncobj) { in amdgpu_cs_p2_syncobj_timeline_signal()
1272 drm_syncobj_add_point(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies()
1277 drm_syncobj_replace_fence(p->post_deps[i].syncobj, in amdgpu_cs_post_dependencies()
1395 drm_syncobj_put(parser->post_deps[i].syncobj); in amdgpu_cs_parser_fini()
1571 struct drm_syncobj *syncobj; in amdgpu_cs_fence_to_handle_ioctl() local
1584 r = drm_syncobj_create(&syncobj, 0, fence); in amdgpu_cs_fence_to_handle_ioctl()
1588 r = drm_syncobj_get_handle(filp, syncobj, &info->out.handle); in amdgpu_cs_fence_to_handle_ioctl()
[all …]
H A Damdgpu_cs.h44 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/tegra/
H A 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/drivers/gpu/drm/xe/
H A Dxe_sync_types.h18 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/v3d/
H A Dv3d_drv.h391 struct drm_syncobj *syncobj; member
399 struct drm_syncobj *syncobj; member
480 struct drm_syncobj *syncobj; member
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_sched.c2188 struct panthor_syncobj_64b *syncobj; in group_term_post_processing() local
2210 syncobj = group->syncobjs->kmap + (i * sizeof(*syncobj)); in group_term_post_processing()
2211 syncobj->status = ~0; in group_term_post_processing()
2212 syncobj->seqno = atomic64_read(&queue->fence_ctx.seqno); in group_term_post_processing()
2586 } *syncobj; in panthor_queue_eval_syncwait() local
2590 syncobj = panthor_queue_get_syncwait_obj(group, queue); in panthor_queue_eval_syncwait()
2591 if (!syncobj) in panthor_queue_eval_syncwait()
2595 syncobj->sync64.seqno : in panthor_queue_eval_syncwait()
2596 syncobj->sync32.seqno; in panthor_queue_eval_syncwait()
3028 struct panthor_syncobj_64b *syncobj = NULL; in queue_check_job_completion() local
[all …]
/linux/Documentation/gpu/
H A Ddrm-vm-bind-async.rst19 * ``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/drivers/gpu/drm/msm/
H A Dmsm_gem_submit.c840 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
H A Dmsm_gem_vma.c1611 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_vm_bind()