Searched refs:syncobjs (Results 1 – 5 of 5) sorted by relevance
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_syncobj.c | 17 struct drm_syncobj **syncobjs = NULL; in msm_syncobj_parse_deps() local 22 syncobjs = kzalloc_objs(*syncobjs, nr_in_syncobjs, in msm_syncobj_parse_deps() 24 if (!syncobjs) in msm_syncobj_parse_deps() 55 syncobjs[i] = drm_syncobj_find(file, syncobj_desc.handle); in msm_syncobj_parse_deps() 56 if (!syncobjs[i]) { in msm_syncobj_parse_deps() 65 if (syncobjs[j]) in msm_syncobj_parse_deps() 66 drm_syncobj_put(syncobjs[j]); in msm_syncobj_parse_deps() 68 kfree(syncobjs); in msm_syncobj_parse_deps() 71 return syncobjs; in msm_syncobj_parse_deps() 75 msm_syncobj_reset(struct drm_syncobj **syncobjs, uint32_t nr_syncobjs) in msm_syncobj_reset() argument [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_syncobj.c | 1035 static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs, in drm_syncobj_array_wait_timeout() argument 1083 fence = drm_syncobj_fence_get(syncobjs[i]); in drm_syncobj_array_wait_timeout() 1123 drm_syncobj_fence_add_wait(syncobjs[i], &entries[i]); in drm_syncobj_array_wait_timeout() 1182 drm_syncobj_remove_wait(syncobjs[i], &entries[i]); in drm_syncobj_array_wait_timeout() 1233 struct drm_syncobj **syncobjs, bool timeline, in drm_syncobj_array_wait() argument 1241 timeout = drm_syncobj_array_wait_timeout(syncobjs, in drm_syncobj_array_wait() 1252 timeout = drm_syncobj_array_wait_timeout(syncobjs, in drm_syncobj_array_wait() 1271 struct drm_syncobj **syncobjs; in drm_syncobj_array_find() local 1284 syncobjs = kmalloc_objs(*syncobjs, count_handles); in drm_syncobj_array_find() 1285 if (syncobjs == NULL) { in drm_syncobj_array_find() [all …]
|
| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_submit.c | 77 static void virtio_gpu_free_syncobjs(struct drm_syncobj **syncobjs, in virtio_gpu_free_syncobjs() argument 83 if (syncobjs[i]) in virtio_gpu_free_syncobjs() 84 drm_syncobj_put(syncobjs[i]); in virtio_gpu_free_syncobjs() 87 kvfree(syncobjs); in virtio_gpu_free_syncobjs() 97 struct drm_syncobj **syncobjs; in virtio_gpu_parse_deps() local 109 syncobjs = kvzalloc_objs(*syncobjs, num_in_syncobjs); in virtio_gpu_parse_deps() 110 if (!syncobjs) in virtio_gpu_parse_deps() 143 syncobjs[i] = drm_syncobj_find(submit->file, in virtio_gpu_parse_deps() 145 if (!syncobjs[i]) { in virtio_gpu_parse_deps() 153 virtio_gpu_free_syncobjs(syncobjs, i); in virtio_gpu_parse_deps() [all …]
|
| /linux/Documentation/gpu/ |
| H A 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/drivers/gpu/drm/panthor/ |
| H A D | panthor_sched.c | 622 * @syncobjs: Pool of per-queue synchronization objects. 627 struct panthor_kernel_bo *syncobjs; member 956 panthor_kernel_bo_destroy(group->syncobjs); in group_release_work() 2195 syncobj = group->syncobjs->kmap + (i * sizeof(*syncobj)); in group_term_post_processing() 3070 syncobj = group->syncobjs->kmap + in queue_check_job_completion() 3197 params->sync_addr = panthor_kernel_bo_gpuva(group->syncobjs) + in get_job_cs_params() 3636 group->fdinfo.kbo_sizes += group->syncobjs->obj->size; in add_group_kbo_sizes() 3727 group->syncobjs = panthor_kernel_bo_create(ptdev, group->vm, in panthor_group_create() 3735 if (IS_ERR(group->syncobjs)) { in panthor_group_create() 3736 ret = PTR_ERR(group->syncobjs); in panthor_group_create() [all...] |