Searched refs:syncobjs (Results 1 – 5 of 5) sorted by relevance
/linux-6.12.1/drivers/gpu/drm/ |
D | drm_syncobj.c | 1033 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/ |
D | virtgpu_submit.c | 75 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/ |
D | msm_gem_submit.c | 494 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/ |
D | drm-vm-bind-async.rst | 78 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/ |
D | panthor_sched.c | 606 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()
|