syncobj           451 drivers/gpu/drm/amd/amdgpu/amdgpu.h 	struct drm_syncobj *syncobj;
syncobj           758 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		drm_syncobj_put(parser->post_deps[i].syncobj);
syncobj          1154 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		p->post_deps[i].syncobj =
syncobj          1156 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		if (!p->post_deps[i].syncobj)
syncobj          1198 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		dep->syncobj = drm_syncobj_find(p->filp,
syncobj          1200 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		if (!dep->syncobj) {
syncobj          1260 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 			drm_syncobj_add_point(p->post_deps[i].syncobj,
syncobj          1265 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 			drm_syncobj_replace_fence(p->post_deps[i].syncobj,
syncobj          1496 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 	struct drm_syncobj *syncobj;
syncobj          1509 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		r = drm_syncobj_create(&syncobj, 0, fence);
syncobj          1513 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		r = drm_syncobj_get_handle(filp, syncobj, &info->out.handle);
syncobj          1514 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		drm_syncobj_put(syncobj);
syncobj          1518 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		r = drm_syncobj_create(&syncobj, 0, fence);
syncobj          1522 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		r = drm_syncobj_get_fd(syncobj, (int*)&info->out.handle);
syncobj          1523 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 		drm_syncobj_put(syncobj);
syncobj           149 drivers/gpu/drm/drm_syncobj.c static void syncobj_wait_syncobj_func(struct drm_syncobj *syncobj,
syncobj           163 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           168 drivers/gpu/drm/drm_syncobj.c 	syncobj = idr_find(&file_private->syncobj_idr, handle);
syncobj           169 drivers/gpu/drm/drm_syncobj.c 	if (syncobj)
syncobj           170 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_get(syncobj);
syncobj           174 drivers/gpu/drm/drm_syncobj.c 	return syncobj;
syncobj           178 drivers/gpu/drm/drm_syncobj.c static void drm_syncobj_fence_add_wait(struct drm_syncobj *syncobj,
syncobj           186 drivers/gpu/drm/drm_syncobj.c 	spin_lock(&syncobj->lock);
syncobj           191 drivers/gpu/drm/drm_syncobj.c 	fence = dma_fence_get(rcu_dereference_protected(syncobj->fence, 1));
syncobj           194 drivers/gpu/drm/drm_syncobj.c 		list_add_tail(&wait->node, &syncobj->cb_list);
syncobj           200 drivers/gpu/drm/drm_syncobj.c 	spin_unlock(&syncobj->lock);
syncobj           203 drivers/gpu/drm/drm_syncobj.c static void drm_syncobj_remove_wait(struct drm_syncobj *syncobj,
syncobj           209 drivers/gpu/drm/drm_syncobj.c 	spin_lock(&syncobj->lock);
syncobj           211 drivers/gpu/drm/drm_syncobj.c 	spin_unlock(&syncobj->lock);
syncobj           223 drivers/gpu/drm/drm_syncobj.c void drm_syncobj_add_point(struct drm_syncobj *syncobj,
syncobj           233 drivers/gpu/drm/drm_syncobj.c 	spin_lock(&syncobj->lock);
syncobj           235 drivers/gpu/drm/drm_syncobj.c 	prev = drm_syncobj_fence_get(syncobj);
syncobj           240 drivers/gpu/drm/drm_syncobj.c 	rcu_assign_pointer(syncobj->fence, &chain->base);
syncobj           242 drivers/gpu/drm/drm_syncobj.c 	list_for_each_entry_safe(cur, tmp, &syncobj->cb_list, node)
syncobj           243 drivers/gpu/drm/drm_syncobj.c 		syncobj_wait_syncobj_func(syncobj, cur);
syncobj           244 drivers/gpu/drm/drm_syncobj.c 	spin_unlock(&syncobj->lock);
syncobj           259 drivers/gpu/drm/drm_syncobj.c void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
syncobj           268 drivers/gpu/drm/drm_syncobj.c 	spin_lock(&syncobj->lock);
syncobj           270 drivers/gpu/drm/drm_syncobj.c 	old_fence = rcu_dereference_protected(syncobj->fence,
syncobj           271 drivers/gpu/drm/drm_syncobj.c 					      lockdep_is_held(&syncobj->lock));
syncobj           272 drivers/gpu/drm/drm_syncobj.c 	rcu_assign_pointer(syncobj->fence, fence);
syncobj           275 drivers/gpu/drm/drm_syncobj.c 		list_for_each_entry_safe(cur, tmp, &syncobj->cb_list, node)
syncobj           276 drivers/gpu/drm/drm_syncobj.c 			syncobj_wait_syncobj_func(syncobj, cur);
syncobj           279 drivers/gpu/drm/drm_syncobj.c 	spin_unlock(&syncobj->lock);
syncobj           291 drivers/gpu/drm/drm_syncobj.c static void drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj)
syncobj           295 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_replace_fence(syncobj, fence);
syncobj           320 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle);
syncobj           325 drivers/gpu/drm/drm_syncobj.c 	if (!syncobj)
syncobj           328 drivers/gpu/drm/drm_syncobj.c 	*fence = drm_syncobj_fence_get(syncobj);
syncobj           329 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           346 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_fence_add_wait(syncobj, &wait);
syncobj           371 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_remove_wait(syncobj, &wait);
syncobj           385 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj = container_of(kref,
syncobj           388 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_replace_fence(syncobj, NULL);
syncobj           389 drivers/gpu/drm/drm_syncobj.c 	kfree(syncobj);
syncobj           408 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           410 drivers/gpu/drm/drm_syncobj.c 	syncobj = kzalloc(sizeof(struct drm_syncobj), GFP_KERNEL);
syncobj           411 drivers/gpu/drm/drm_syncobj.c 	if (!syncobj)
syncobj           414 drivers/gpu/drm/drm_syncobj.c 	kref_init(&syncobj->refcount);
syncobj           415 drivers/gpu/drm/drm_syncobj.c 	INIT_LIST_HEAD(&syncobj->cb_list);
syncobj           416 drivers/gpu/drm/drm_syncobj.c 	spin_lock_init(&syncobj->lock);
syncobj           419 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_assign_null_handle(syncobj);
syncobj           422 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_replace_fence(syncobj, fence);
syncobj           424 drivers/gpu/drm/drm_syncobj.c 	*out_syncobj = syncobj;
syncobj           441 drivers/gpu/drm/drm_syncobj.c 			   struct drm_syncobj *syncobj, u32 *handle)
syncobj           446 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_get(syncobj);
syncobj           450 drivers/gpu/drm/drm_syncobj.c 	ret = idr_alloc(&file_private->syncobj_idr, syncobj, 1, 0, GFP_NOWAIT);
syncobj           456 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_put(syncobj);
syncobj           469 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           471 drivers/gpu/drm/drm_syncobj.c 	ret = drm_syncobj_create(&syncobj, flags, NULL);
syncobj           475 drivers/gpu/drm/drm_syncobj.c 	ret = drm_syncobj_get_handle(file_private, syncobj, handle);
syncobj           476 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           483 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           486 drivers/gpu/drm/drm_syncobj.c 	syncobj = idr_remove(&file_private->syncobj_idr, handle);
syncobj           489 drivers/gpu/drm/drm_syncobj.c 	if (!syncobj)
syncobj           492 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           498 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj = file->private_data;
syncobj           500 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           517 drivers/gpu/drm/drm_syncobj.c int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd)
syncobj           528 drivers/gpu/drm/drm_syncobj.c 				  syncobj, 0);
syncobj           534 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_get(syncobj);
syncobj           545 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle);
syncobj           548 drivers/gpu/drm/drm_syncobj.c 	if (!syncobj)
syncobj           551 drivers/gpu/drm/drm_syncobj.c 	ret = drm_syncobj_get_fd(syncobj, p_fd);
syncobj           552 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           559 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           572 drivers/gpu/drm/drm_syncobj.c 	syncobj = f.file->private_data;
syncobj           573 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_get(syncobj);
syncobj           577 drivers/gpu/drm/drm_syncobj.c 	ret = idr_alloc(&file_private->syncobj_idr, syncobj, 1, 0, GFP_NOWAIT);
syncobj           585 drivers/gpu/drm/drm_syncobj.c 		drm_syncobj_put(syncobj);
syncobj           595 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj;
syncobj           600 drivers/gpu/drm/drm_syncobj.c 	syncobj = drm_syncobj_find(file_private, handle);
syncobj           601 drivers/gpu/drm/drm_syncobj.c 	if (!syncobj) {
syncobj           606 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_replace_fence(syncobj, fence);
syncobj           608 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           661 drivers/gpu/drm/drm_syncobj.c 	struct drm_syncobj *syncobj = ptr;
syncobj           663 drivers/gpu/drm/drm_syncobj.c 	drm_syncobj_put(syncobj);
syncobj           847 drivers/gpu/drm/drm_syncobj.c static void syncobj_wait_syncobj_func(struct drm_syncobj *syncobj,
syncobj           853 drivers/gpu/drm/drm_syncobj.c 	fence = rcu_dereference_protected(syncobj->fence,
syncobj           854 drivers/gpu/drm/drm_syncobj.c 					  lockdep_is_held(&syncobj->lock));
syncobj          2386 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		struct drm_syncobj *syncobj;
syncobj          2398 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		syncobj = drm_syncobj_find(file, fence.handle);
syncobj          2399 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		if (!syncobj) {
syncobj          2408 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		fences[n] = ptr_pack_bits(syncobj, fence.flags, 2);
syncobj          2435 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		struct drm_syncobj *syncobj;
syncobj          2439 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		syncobj = ptr_unpack_bits(fences[n], &flags, 2);
syncobj          2443 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		fence = drm_syncobj_fence_get(syncobj);
syncobj          2465 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		struct drm_syncobj *syncobj;
syncobj          2468 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		syncobj = ptr_unpack_bits(fences[n], &flags, 2);
syncobj          2472 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 		drm_syncobj_replace_fence(syncobj, fence);
syncobj           103 include/drm/drm_syncobj.h drm_syncobj_fence_get(struct drm_syncobj *syncobj)
syncobj           108 include/drm/drm_syncobj.h 	fence = dma_fence_get_rcu_safe(&syncobj->fence);
syncobj           116 include/drm/drm_syncobj.h void drm_syncobj_add_point(struct drm_syncobj *syncobj,
syncobj           120 include/drm/drm_syncobj.h void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
syncobj           129 include/drm/drm_syncobj.h 			   struct drm_syncobj *syncobj, u32 *handle);
syncobj           130 include/drm/drm_syncobj.h int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd);