Searched refs:syncobj (Results 1 - 17 of 17) sorted by relevance

/linux-master/include/drm/
H A Ddrm_syncobj.h65 * @file: A file backing for this syncobj.
73 * drm_syncobj_get - acquire a syncobj reference
97 * @syncobj: sync object.
107 drm_syncobj_fence_get(struct drm_syncobj *syncobj) argument
112 fence = dma_fence_get_rcu_safe(&syncobj->fence);
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-master/drivers/gpu/drm/
H A Ddrm_syncobj.c32 * DRM synchronisation objects (syncobj, see struct &drm_syncobj) provide a
37 * The syncobj userspace API provides ioctls for several operations:
40 * - Import and export of syncobjs to/from a syncobj file descriptor
41 * - Import and export a syncobj's underlying fence to/from a sync file
42 * - Reset a syncobj (set its fence to NULL)
43 * - Signal a syncobj (set a trivially signaled fence)
44 * - Wait for a syncobj's fence to appear and be signaled
46 * The syncobj userspace API also provides operations to manipulate a syncobj
54 * At it's core, a syncobj i
229 struct drm_syncobj *syncobj; member in struct:syncobj_eventfd_entry
250 struct drm_syncobj *syncobj; local
265 drm_syncobj_fence_add_wait(struct drm_syncobj *syncobj, struct syncobj_wait_entry *wait) argument
290 drm_syncobj_remove_wait(struct drm_syncobj *syncobj, struct syncobj_wait_entry *wait) argument
314 drm_syncobj_add_eventfd(struct drm_syncobj *syncobj, struct syncobj_eventfd_entry *entry) argument
332 drm_syncobj_add_point(struct drm_syncobj *syncobj, struct dma_fence_chain *chain, struct dma_fence *fence, uint64_t point) argument
371 drm_syncobj_replace_fence(struct drm_syncobj *syncobj, struct dma_fence *fence) argument
406 drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj) argument
439 struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle); local
527 struct drm_syncobj *syncobj = container_of(kref, local
557 struct drm_syncobj *syncobj; local
595 drm_syncobj_get_handle(struct drm_file *file_private, struct drm_syncobj *syncobj, u32 *handle) argument
624 struct drm_syncobj *syncobj; local
638 struct drm_syncobj *syncobj; local
653 struct drm_syncobj *syncobj = file->private_data; local
672 drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd) argument
700 struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle); local
714 struct drm_syncobj *syncobj; local
750 struct drm_syncobj *syncobj; local
816 struct drm_syncobj *syncobj = ptr; local
1011 syncobj_wait_syncobj_func(struct drm_syncobj *syncobj, struct syncobj_wait_entry *wait) argument
1418 syncobj_eventfd_entry_func(struct drm_syncobj *syncobj, struct syncobj_eventfd_entry *entry) argument
1464 struct drm_syncobj *syncobj; local
[all...]
/linux-master/drivers/gpu/drm/xe/
H A Dxe_sync_types.h18 struct drm_syncobj *syncobj; member in struct:xe_sync_entry
H A Dxe_sync.c130 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle);
131 if (XE_IOCTL_DBG(xe, !sync->syncobj))
135 sync->fence = drm_syncobj_fence_get(sync->syncobj);
151 sync->syncobj = drm_syncobj_find(xef->drm, sync_in.handle);
152 if (XE_IOCTL_DBG(xe, !sync->syncobj))
160 sync->fence = drm_syncobj_fence_get(sync->syncobj);
234 drm_syncobj_add_point(sync->syncobj, sync->chain_fence,
241 } else if (sync->syncobj) {
242 drm_syncobj_replace_fence(sync->syncobj, fence);
266 if (sync->syncobj)
[all...]
/linux-master/drivers/gpu/drm/imagination/
H A Dpvr_sync.h22 * struct pvr_sync_signal - Object encoding a syncobj signal operation
27 * signals a syncobj point that's later waited on by a subsequent job.
30 /** @handle: Handle of the syncobj to signal. */
34 * @point: Point to signal in the syncobj.
40 /** @syncobj: Syncobj retrieved from the handle. */
41 struct drm_syncobj *syncobj; member in struct:pvr_sync_signal
45 * existing timeline syncobj.
47 * Should be zero when manipulating a regular syncobj.
52 * @fence: New fence object to attach to the syncobj.
H A Dpvr_sync.c41 drm_syncobj_put(sig_sync->syncobj);
82 sig_sync->syncobj = drm_syncobj_find(file, handle);
83 if (!sig_sync->syncobj) {
196 drm_syncobj_add_point(sig_sync->syncobj, sig_sync->chain,
200 drm_syncobj_replace_fence(sig_sync->syncobj, sig_sync->fence);
/linux-master/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_cs.h44 struct drm_syncobj *syncobj; member in struct:amdgpu_cs_post_dep
H A Damdgpu_cs.c443 DRM_ERROR("syncobj %u failed to find fence @ %llu (%d)!\n",
513 p->post_deps[i].syncobj =
515 if (!p->post_deps[i].syncobj)
555 dep->syncobj = drm_syncobj_find(p->filp,
557 if (!dep->syncobj) {
1242 drm_syncobj_add_point(p->post_deps[i].syncobj,
1247 drm_syncobj_replace_fence(p->post_deps[i].syncobj,
1365 drm_syncobj_put(parser->post_deps[i].syncobj);
1541 struct drm_syncobj *syncobj; local
1554 r = drm_syncobj_create(&syncobj,
[all...]
/linux-master/drivers/gpu/drm/virtio/
H A Dvirtgpu_submit.c23 struct drm_syncobj *syncobj; member in struct:virtio_gpu_submit_post_dep
180 drm_syncobj_put(post_deps[i].syncobj);
229 post_deps[i].syncobj = drm_syncobj_find(submit->file,
231 if (!post_deps[i].syncobj) {
260 drm_syncobj_add_point(post_deps[i].syncobj,
265 drm_syncobj_replace_fence(post_deps[i].syncobj,
/linux-master/drivers/gpu/drm/i915/gem/
H A Di915_gem_context_types.h212 /** @single_timeline: See See &i915_gem_context.syncobj */
262 * @syncobj: Shared timeline syncobj
265 * emulate a single timeline across all engines using this syncobj.
266 * For every execbuffer2 call, this syncobj is used as both an in-
273 struct drm_syncobj *syncobj; member in struct:i915_gem_context
H A Di915_gem_execbuffer.c241 struct drm_syncobj *syncobj; /* Use with ptr_mask_bits() */ member in struct:eb_fence
2794 drm_syncobj_put(ptr_mask_bits(fences[n].syncobj, 2));
2844 struct drm_syncobj *syncobj; local
2859 syncobj = drm_syncobj_find(eb->file, user_fence.handle);
2860 if (!syncobj) {
2862 "Invalid syncobj handle provided\n");
2866 fence = drm_syncobj_fence_get(syncobj);
2872 drm_syncobj_put(syncobj);
2884 drm_syncobj_put(syncobj);
2894 drm_syncobj_put(syncobj);
2969 struct drm_syncobj *syncobj; local
3040 struct drm_syncobj *syncobj; local
[all...]
H A Di915_gem_context.c1282 if (ctx->syncobj)
1283 drm_syncobj_put(ctx->syncobj);
1661 err = drm_syncobj_create(&ctx->syncobj,
/linux-master/drivers/gpu/drm/tegra/
H A Dsubmit.c515 struct drm_syncobj *syncobj = NULL; local
550 syncobj = drm_syncobj_find(file, args->syncobj_out);
551 if (!syncobj) {
648 if (syncobj) {
655 drm_syncobj_replace_fence(syncobj, fence);
679 if (syncobj)
680 drm_syncobj_put(syncobj);
/linux-master/drivers/gpu/drm/v3d/
H A Dv3d_drv.h335 struct drm_syncobj *syncobj; member in struct:v3d_timestamp_query
347 struct drm_syncobj *syncobj; member in struct:v3d_performance_query
428 struct drm_syncobj *syncobj; member in struct:v3d_submit_outsync
H A Dv3d_submit.c258 drm_syncobj_replace_fence(se->out_syncs[i].syncobj,
260 drm_syncobj_put(se->out_syncs[i].syncobj);
318 drm_syncobj_put(se->out_syncs[i].syncobj);
351 se->out_syncs[i].syncobj = drm_syncobj_find(file_priv,
353 if (!se->out_syncs[i].syncobj) {
364 drm_syncobj_put(se->out_syncs[i].syncobj);
370 /* Get data for multiple binary semaphores synchronization. Parse syncobj
498 job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync);
546 job->timestamp_query.queries[i].syncobj = drm_syncobj_find(file_priv, sync);
605 job->timestamp_query.queries[i].syncobj
[all...]
H A Dv3d_sched.c85 drm_syncobj_put(timestamp_query->queries[i].syncobj);
91 drm_syncobj_put(performance_query->queries[i].syncobj);
345 drm_syncobj_replace_fence(timestamp_query->queries[i].syncobj,
366 drm_syncobj_replace_fence(queries[i].syncobj, NULL);
406 fence = drm_syncobj_fence_get(queries[i].syncobj);
451 drm_syncobj_replace_fence(performance_query->queries[i].syncobj, NULL);
500 fence = drm_syncobj_fence_get(performance_query->queries[i].syncobj);
/linux-master/drivers/gpu/drm/msm/
H A Dmsm_gem_submit.c483 struct drm_syncobj *syncobj; member in struct:msm_submit_post_dep
609 post_deps[i].syncobj =
611 if (!post_deps[i].syncobj) {
620 if (post_deps[j].syncobj)
621 drm_syncobj_put(post_deps[j].syncobj);
638 drm_syncobj_add_point(post_deps[i].syncobj,
643 drm_syncobj_replace_fence(post_deps[i].syncobj,
921 drm_syncobj_put(post_deps[i].syncobj);

Completed in 201 milliseconds