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);