Lines Matching refs:file_priv
368 struct drm_file *file_priv = data; in drm_gem_object_release_handle() local
375 obj->funcs->close(obj, file_priv); in drm_gem_object_release_handle()
377 mutex_lock(&file_priv->prime.lock); in drm_gem_object_release_handle()
379 drm_prime_remove_buf_handle(&file_priv->prime, id); in drm_gem_object_release_handle()
381 mutex_unlock(&file_priv->prime.lock); in drm_gem_object_release_handle()
383 drm_vma_node_revoke(&obj->vma_node, file_priv); in drm_gem_object_release_handle()
480 drm_gem_handle_create_tail(struct drm_file *file_priv, in drm_gem_handle_create_tail() argument
497 spin_lock(&file_priv->table_lock); in drm_gem_handle_create_tail()
499 ret = idr_alloc(&file_priv->object_idr, NULL, 1, 0, GFP_NOWAIT); in drm_gem_handle_create_tail()
501 spin_unlock(&file_priv->table_lock); in drm_gem_handle_create_tail()
510 ret = drm_vma_node_allow(&obj->vma_node, file_priv); in drm_gem_handle_create_tail()
515 ret = obj->funcs->open(obj, file_priv); in drm_gem_handle_create_tail()
521 spin_lock(&file_priv->table_lock); in drm_gem_handle_create_tail()
522 obj = idr_replace(&file_priv->object_idr, obj, handle); in drm_gem_handle_create_tail()
524 spin_unlock(&file_priv->table_lock); in drm_gem_handle_create_tail()
529 drm_vma_node_revoke(&obj->vma_node, file_priv); in drm_gem_handle_create_tail()
531 spin_lock(&file_priv->table_lock); in drm_gem_handle_create_tail()
532 idr_remove(&file_priv->object_idr, handle); in drm_gem_handle_create_tail()
533 spin_unlock(&file_priv->table_lock); in drm_gem_handle_create_tail()
552 int drm_gem_handle_create(struct drm_file *file_priv, in drm_gem_handle_create() argument
558 return drm_gem_handle_create_tail(file_priv, obj, handlep); in drm_gem_handle_create()
932 struct drm_file *file_priv) in drm_gem_close_ioctl() argument
940 ret = drm_gem_handle_delete(file_priv, args->handle); in drm_gem_close_ioctl()
947 struct drm_file *file_priv) in drm_gem_flink_ioctl() argument
956 obj = drm_gem_object_lookup(file_priv, args->handle); in drm_gem_flink_ioctl()
986 struct drm_file *file_priv) in drm_gem_open_ioctl() argument
1006 ret = drm_gem_handle_create_tail(file_priv, obj, &handle); in drm_gem_open_ioctl()
1019 struct drm_file *file_priv) in drm_gem_change_handle_ioctl() argument
1033 obj = drm_gem_object_lookup(file_priv, args->handle); in drm_gem_change_handle_ioctl()
1042 mutex_lock(&file_priv->prime.lock); in drm_gem_change_handle_ioctl()
1044 spin_lock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1051 ret = idr_alloc(&file_priv->object_idr, obj, handle, handle + 1, in drm_gem_change_handle_ioctl()
1055 spin_unlock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1059 idrobj = idr_replace(&file_priv->object_idr, NULL, handle); in drm_gem_change_handle_ioctl()
1061 idr_replace(&file_priv->object_idr, idrobj, handle); in drm_gem_change_handle_ioctl()
1062 idr_remove(&file_priv->object_idr, args->new_handle); in drm_gem_change_handle_ioctl()
1063 spin_unlock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1068 spin_unlock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1074 ret = drm_prime_add_buf_handle(&file_priv->prime, obj->dma_buf, in drm_gem_change_handle_ioctl()
1077 spin_lock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1078 idr_remove(&file_priv->object_idr, handle); in drm_gem_change_handle_ioctl()
1079 idrobj = idr_replace(&file_priv->object_idr, obj, handle); in drm_gem_change_handle_ioctl()
1081 spin_unlock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1085 drm_prime_remove_buf_handle(&file_priv->prime, args->handle); in drm_gem_change_handle_ioctl()
1090 spin_lock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1091 idr_remove(&file_priv->object_idr, args->handle); in drm_gem_change_handle_ioctl()
1092 spin_unlock(&file_priv->table_lock); in drm_gem_change_handle_ioctl()
1095 mutex_unlock(&file_priv->prime.lock); in drm_gem_change_handle_ioctl()