Lines Matching refs:ufile

86 struct ib_ucontext *ib_uverbs_get_ucontext_file(struct ib_uverbs_file *ufile)  in ib_uverbs_get_ucontext_file()  argument
93 struct ib_ucontext *ucontext = READ_ONCE(ufile->ucontext); in ib_uverbs_get_ucontext_file()
95 if (!srcu_dereference(ufile->device->ib_dev, in ib_uverbs_get_ucontext_file()
96 &ufile->device->disassociate_srcu)) in ib_uverbs_get_ucontext_file()
151 READ_ONCE(uobj->uobject.ufile->async_file); in ib_uverbs_release_uevent()
428 ib_uverbs_async_handler(READ_ONCE(eobj->uobject.ufile->async_file), in uverbs_uobj_event()
478 struct ib_uverbs_file *uverbs_file = async_file->uobj.ufile; in ib_uverbs_init_async_event_file()
600 bundle.ufile = file; in ib_uverbs_write()
698 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_open() local
706 if (!down_read_trylock(&ufile->hw_destroy_rwsem)) in rdma_umap_open()
711 if (!ufile->ucontext) in rdma_umap_open()
719 up_read(&ufile->hw_destroy_rwsem); in rdma_umap_open()
723 up_read(&ufile->hw_destroy_rwsem); in rdma_umap_open()
736 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_close() local
747 mutex_lock(&ufile->umap_lock); in rdma_umap_close()
750 mutex_unlock(&ufile->umap_lock); in rdma_umap_close()
759 void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile) in uverbs_user_mmap_disassociate() argument
763 lockdep_assert_held(&ufile->hw_destroy_rwsem); in uverbs_user_mmap_disassociate()
769 mutex_lock(&ufile->umap_lock); in uverbs_user_mmap_disassociate()
770 while (!list_empty(&ufile->umaps)) { in uverbs_user_mmap_disassociate()
773 priv = list_first_entry(&ufile->umaps, in uverbs_user_mmap_disassociate()
788 mutex_unlock(&ufile->umap_lock); in uverbs_user_mmap_disassociate()
799 mutex_lock(&ufile->umap_lock); in uverbs_user_mmap_disassociate()
800 list_for_each_entry_safe (priv, next_priv, &ufile->umaps, in uverbs_user_mmap_disassociate()
811 mutex_unlock(&ufile->umap_lock); in uverbs_user_mmap_disassociate()