Home
last modified time | relevance | path

Searched refs:syncobjs (Results 1 – 5 of 5) sorted by relevance

/linux-6.12.1/drivers/gpu/drm/
Ddrm_syncobj.c1033 static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs, in drm_syncobj_array_wait_timeout() argument
1081 fence = drm_syncobj_fence_get(syncobjs[i]); in drm_syncobj_array_wait_timeout()
1121 drm_syncobj_fence_add_wait(syncobjs[i], &entries[i]); in drm_syncobj_array_wait_timeout()
1180 drm_syncobj_remove_wait(syncobjs[i], &entries[i]); in drm_syncobj_array_wait_timeout()
1231 struct drm_syncobj **syncobjs, bool timeline, in drm_syncobj_array_wait() argument
1239 timeout = drm_syncobj_array_wait_timeout(syncobjs, in drm_syncobj_array_wait()
1250 timeout = drm_syncobj_array_wait_timeout(syncobjs, in drm_syncobj_array_wait()
1269 struct drm_syncobj **syncobjs; in drm_syncobj_array_find() local
1282 syncobjs = kmalloc_array(count_handles, sizeof(*syncobjs), GFP_KERNEL); in drm_syncobj_array_find()
1283 if (syncobjs == NULL) { in drm_syncobj_array_find()
[all …]
/linux-6.12.1/drivers/gpu/drm/virtio/
Dvirtgpu_submit.c75 static void virtio_gpu_free_syncobjs(struct drm_syncobj **syncobjs, in virtio_gpu_free_syncobjs() argument
81 if (syncobjs[i]) in virtio_gpu_free_syncobjs()
82 drm_syncobj_put(syncobjs[i]); in virtio_gpu_free_syncobjs()
85 kvfree(syncobjs); in virtio_gpu_free_syncobjs()
95 struct drm_syncobj **syncobjs; in virtio_gpu_parse_deps() local
107 syncobjs = kvcalloc(num_in_syncobjs, sizeof(*syncobjs), GFP_KERNEL); in virtio_gpu_parse_deps()
108 if (!syncobjs) in virtio_gpu_parse_deps()
141 syncobjs[i] = drm_syncobj_find(submit->file, in virtio_gpu_parse_deps()
143 if (!syncobjs[i]) { in virtio_gpu_parse_deps()
151 virtio_gpu_free_syncobjs(syncobjs, i); in virtio_gpu_parse_deps()
[all …]
/linux-6.12.1/drivers/gpu/drm/msm/
Dmsm_gem_submit.c494 struct drm_syncobj **syncobjs = NULL; in msm_parse_deps() local
499 syncobjs = kcalloc(nr_in_syncobjs, sizeof(*syncobjs), in msm_parse_deps()
501 if (!syncobjs) in msm_parse_deps()
531 syncobjs[i] = in msm_parse_deps()
533 if (!syncobjs[i]) { in msm_parse_deps()
542 if (syncobjs[j]) in msm_parse_deps()
543 drm_syncobj_put(syncobjs[j]); in msm_parse_deps()
545 kfree(syncobjs); in msm_parse_deps()
548 return syncobjs; in msm_parse_deps()
551 static void msm_reset_syncobjs(struct drm_syncobj **syncobjs, in msm_reset_syncobjs() argument
[all …]
/linux-6.12.1/Documentation/gpu/
Ddrm-vm-bind-async.rst78 Asynchronous VM_BIND accepts both in-syncobjs and out-syncobjs. While the
79 IOCTL may return immediately, the VM_BIND operations wait for the in-syncobjs
80 before modifying the GPU page-tables, and signal the out-syncobjs when
82 awaits for the out-syncobjs will see the change. Errors are reported
89 the in-syncobjs needs to signal before the first operation starts to
90 execute, and the out-syncobjs signal after the last operation
95 out-syncobjs and internally in KMD to signal bind completion, any
106 fences gated by a long-running workload and used as in-syncobjs for the
108 above). Second, any dma-fences used as in-syncobjs for VM_BIND
111 out-syncobjs, so while theoretically possible the use of them is
/linux-6.12.1/drivers/gpu/drm/panthor/
Dpanthor_sched.c606 struct panthor_kernel_bo *syncobjs; member
861 panthor_kernel_bo_destroy(group->syncobjs); in group_release_work()
2030 syncobj = group->syncobjs->kmap + (i * sizeof(*syncobj)); in group_term_post_processing()
2810 syncobj = group->syncobjs->kmap + (queue_idx * sizeof(*syncobj)); in group_sync_upd_work()
2845 u64 sync_addr = panthor_kernel_bo_gpuva(group->syncobjs) + in queue_run_job()
3169 group->syncobjs = panthor_kernel_bo_create(ptdev, group->vm, in panthor_group_create()
3176 if (IS_ERR(group->syncobjs)) { in panthor_group_create()
3177 ret = PTR_ERR(group->syncobjs); in panthor_group_create()
3181 ret = panthor_kernel_bo_vmap(group->syncobjs); in panthor_group_create()
3185 memset(group->syncobjs->kmap, 0, in panthor_group_create()