| /linux/include/drm/ |
| H A 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/drivers/gpu/drm/imagination/ |
| H A D | pvr_sync.c | 41 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 D | pvr_sync.h | 41 struct drm_syncobj *syncobj; member
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_execbuffer.c | 239 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 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/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_userq_fence.c | 467 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 D | amdgpu_cs.c | 535 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 D | amdgpu_cs.h | 44 struct drm_syncobj *syncobj; member
|
| /linux/drivers/gpu/drm/tegra/ |
| H A 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/drivers/gpu/drm/xe/ |
| H A D | xe_sync_types.h | 18 struct drm_syncobj *syncobj; member
|
| /linux/drivers/gpu/drm/v3d/ |
| H A D | v3d_drv.h | 391 struct drm_syncobj *syncobj; member 399 struct drm_syncobj *syncobj; member 480 struct drm_syncobj *syncobj; member
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_sched.c | 2188 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 D | drm-vm-bind-async.rst | 19 * ``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 D | msm_gem_submit.c | 840 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_gem_submit()
|
| H A D | msm_gem_vma.c | 1611 drm_syncobj_put(post_deps[i].syncobj); in msm_ioctl_vm_bind()
|