/kernel/linux/linux-6.6/drivers/infiniband/core/ |
H A D | rdma_core.c | 126 struct ib_uverbs_file *ufile = attrs->ufile; in uverbs_destroy_uobject() local 130 lockdep_assert_held(&ufile->hw_destroy_rwsem); in uverbs_destroy_uobject() 160 spin_lock_irqsave(&ufile->uobjects_lock, flags); in uverbs_destroy_uobject() 162 spin_unlock_irqrestore(&ufile->uobjects_lock, flags); in uverbs_destroy_uobject() 190 struct ib_uverbs_file *ufile = attrs->ufile; in uobj_destroy() local 193 down_read(&ufile->hw_destroy_rwsem); in uobj_destroy() 213 up_read(&ufile->hw_destroy_rwsem); in uobj_destroy() 228 uobj = rdma_lookup_get_uobject(obj, attrs->ufile, i in __uobj_get_destroy() 262 struct ib_uverbs_file *ufile = attrs->ufile; alloc_uobj() local 309 lookup_get_idr_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode) lookup_get_idr_uobject() argument 333 lookup_get_fd_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode) lookup_get_fd_uobject() argument 372 rdma_lookup_get_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode, struct uverbs_attr_bundle *attrs) rdma_lookup_get_uobject() argument 501 struct ib_uverbs_file *ufile = attrs->ufile; rdma_alloc_begin_uobject() local 584 struct ib_uverbs_file *ufile = uobj->ufile; alloc_commit_idr_uobject() local 601 struct ib_uverbs_file *ufile = obj_old->ufile; swap_idr_uobjects() local 646 struct ib_uverbs_file *ufile = attrs->ufile; rdma_alloc_commit_uobject() local 701 struct ib_uverbs_file *ufile = uobj->ufile; rdma_alloc_abort_uobject() local 766 setup_ufile_idr_uobject(struct ib_uverbs_file *ufile) setup_ufile_idr_uobject() argument 771 release_ufile_idr_uobject(struct ib_uverbs_file *ufile) release_ufile_idr_uobject() argument 810 struct ib_uverbs_file *ufile; uverbs_uobject_fd_release() local 851 ufile_destroy_ucontext(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) ufile_destroy_ucontext() argument 880 __uverbs_cleanup_ufile(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) __uverbs_cleanup_ufile() argument 924 uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) uverbs_destroy_ufile_hw() argument [all...] |
H A D | ib_core_uverbs.c | 34 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_priv_init() local 44 mutex_lock(&ufile->umap_lock); in rdma_umap_priv_init() 45 list_add(&priv->list, &ufile->umaps); in rdma_umap_priv_init() 46 mutex_unlock(&ufile->umap_lock); in rdma_umap_priv_init() 71 struct ib_uverbs_file *ufile = ucontext->ufile; in rdma_user_mmap_io() local 82 vma->vm_file->private_data != ufile)) in rdma_user_mmap_io() 84 lockdep_assert_held(&ufile->device->disassociate_srcu); in rdma_user_mmap_io() 267 struct ib_uverbs_file *ufile = ucontext->ufile; in rdma_user_mmap_entry_insert_range() local [all...] |
H A D | uverbs_main.c | 93 * Must be called with the ufile->device->disassociate_srcu held, and the lock 96 struct ib_ucontext *ib_uverbs_get_ucontext_file(struct ib_uverbs_file *ufile) in ib_uverbs_get_ucontext_file() argument 103 struct ib_ucontext *ucontext = smp_load_acquire(&ufile->ucontext); in ib_uverbs_get_ucontext_file() 105 if (!srcu_dereference(ufile->device->ib_dev, in ib_uverbs_get_ucontext_file() 106 &ufile->device->disassociate_srcu)) in ib_uverbs_get_ucontext_file() 492 struct ib_uverbs_file *uverbs_file = async_file->uobj.ufile; in ib_uverbs_init_async_event_file() 614 bundle.ufile = file; in ib_uverbs_write() 716 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_open() local 724 if (!down_read_trylock(&ufile->hw_destroy_rwsem)) in rdma_umap_open() 729 if (!ufile in rdma_umap_open() 754 struct ib_uverbs_file *ufile = vma->vm_file->private_data; rdma_umap_close() local 780 struct ib_uverbs_file *ufile = vmf->vma->vm_file->private_data; rdma_umap_fault() local 820 uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile) uverbs_user_mmap_disassociate() argument [all...] |
H A D | rdma_core.h | 48 void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile, 54 * Get an ib_uobject that corresponds to the given id from ufile, assuming 72 void setup_ufile_idr_uobject(struct ib_uverbs_file *ufile); 73 void release_ufile_idr_uobject(struct ib_uverbs_file *ufile); 152 void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile);
|
H A D | uverbs_std_types_device.c | 23 struct uverbs_api *uapi = attrs->ufile->device->uapi; in UVERBS_METHOD_INVOKE_WRITE() 64 gather_objects_handle(struct ib_uverbs_file *ufile, in gather_objects_handle() argument 82 spin_lock_irq(&ufile->uobjects_lock); in gather_objects_handle() 83 list_for_each_entry(obj, &ufile->uobjects, list) { in gather_objects_handle() 95 spin_unlock_irq(&ufile->uobjects_lock); in gather_objects_handle() 119 uapi_object = uapi_get_object(attrs->ufile->device->uapi, object_id); in UVERBS_METHOD_INFO_HANDLES() 123 handles = gather_objects_handle(attrs->ufile, uapi_object, attrs, in UVERBS_METHOD_INFO_HANDLES() 214 u32 num_comp = attrs->ufile->device->num_comp_vectors; in UVERBS_METHOD_GET_CONTEXT() 257 num_comp = attrs->ufile->device->num_comp_vectors; in UVERBS_METHOD_QUERY_CONTEXT()
|
H A D | uverbs_std_types.c | 114 mutex_lock(&attrs->ufile->device->xrcd_tree_mutex); in uverbs_free_xrcd() 116 mutex_unlock(&attrs->ufile->device->xrcd_tree_mutex); in uverbs_free_xrcd()
|
H A D | uverbs_ioctl.c | 433 &pbundle->bundle.ufile->device->disassociate_srcu); in ib_uverbs_run_method() 550 static int ib_uverbs_cmd_verbs(struct ib_uverbs_file *ufile, in ib_uverbs_cmd_verbs() argument 555 struct uverbs_api *uapi = ufile->device->uapi; in ib_uverbs_cmd_verbs() 591 pbundle->bundle.ufile = ufile; in ib_uverbs_cmd_verbs()
|
H A D | uverbs_std_types_cq.c | 107 if (attr.comp_vector >= attrs->ufile->device->num_comp_vectors) { in UVERBS_METHOD_CQ_CREATE()
|
H A D | uverbs_std_types_wq.c | 71 wq_init_attr.wq_context = attrs->ufile; in UVERBS_METHOD_WQ_CREATE()
|
H A D | uverbs.h | 309 async_ev_file = READ_ONCE(attrs->ufile->default_async_file); in ib_uverbs_get_async_event()
|
/kernel/linux/linux-5.10/drivers/infiniband/core/ |
H A D | rdma_core.c | 126 struct ib_uverbs_file *ufile = attrs->ufile; in uverbs_destroy_uobject() local 130 lockdep_assert_held(&ufile->hw_destroy_rwsem); in uverbs_destroy_uobject() 166 spin_lock_irqsave(&ufile->uobjects_lock, flags); in uverbs_destroy_uobject() 168 spin_unlock_irqrestore(&ufile->uobjects_lock, flags); in uverbs_destroy_uobject() 196 struct ib_uverbs_file *ufile = attrs->ufile; in uobj_destroy() local 199 down_read(&ufile->hw_destroy_rwsem); in uobj_destroy() 219 up_read(&ufile->hw_destroy_rwsem); in uobj_destroy() 234 uobj = rdma_lookup_get_uobject(obj, attrs->ufile, i in __uobj_get_destroy() 268 struct ib_uverbs_file *ufile = attrs->ufile; alloc_uobj() local 315 lookup_get_idr_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode) lookup_get_idr_uobject() argument 339 lookup_get_fd_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode) lookup_get_fd_uobject() argument 378 rdma_lookup_get_uobject(const struct uverbs_api_object *obj, struct ib_uverbs_file *ufile, s64 id, enum rdma_lookup_mode mode, struct uverbs_attr_bundle *attrs) rdma_lookup_get_uobject() argument 507 struct ib_uverbs_file *ufile = attrs->ufile; rdma_alloc_begin_uobject() local 598 struct ib_uverbs_file *ufile = uobj->ufile; alloc_commit_idr_uobject() local 639 struct ib_uverbs_file *ufile = attrs->ufile; rdma_alloc_commit_uobject() local 665 struct ib_uverbs_file *ufile = uobj->ufile; rdma_alloc_abort_uobject() local 730 setup_ufile_idr_uobject(struct ib_uverbs_file *ufile) setup_ufile_idr_uobject() argument 735 release_ufile_idr_uobject(struct ib_uverbs_file *ufile) release_ufile_idr_uobject() argument 773 struct ib_uverbs_file *ufile; uverbs_uobject_fd_release() local 814 ufile_destroy_ucontext(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) ufile_destroy_ucontext() argument 843 __uverbs_cleanup_ufile(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) __uverbs_cleanup_ufile() argument 880 uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile, enum rdma_remove_reason reason) uverbs_destroy_ufile_hw() argument [all...] |
H A D | ib_core_uverbs.c | 34 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_priv_init() local 44 mutex_lock(&ufile->umap_lock); in rdma_umap_priv_init() 45 list_add(&priv->list, &ufile->umaps); in rdma_umap_priv_init() 46 mutex_unlock(&ufile->umap_lock); in rdma_umap_priv_init() 71 struct ib_uverbs_file *ufile = ucontext->ufile; in rdma_user_mmap_io() local 82 vma->vm_file->private_data != ufile)) in rdma_user_mmap_io() 84 lockdep_assert_held(&ufile->device->disassociate_srcu); in rdma_user_mmap_io() 267 struct ib_uverbs_file *ufile = ucontext->ufile; in rdma_user_mmap_entry_insert_range() local [all...] |
H A D | uverbs_main.c | 82 * Must be called with the ufile->device->disassociate_srcu held, and the lock 85 struct ib_ucontext *ib_uverbs_get_ucontext_file(struct ib_uverbs_file *ufile) in ib_uverbs_get_ucontext_file() argument 92 struct ib_ucontext *ucontext = smp_load_acquire(&ufile->ucontext); in ib_uverbs_get_ucontext_file() 94 if (!srcu_dereference(ufile->device->ib_dev, in ib_uverbs_get_ucontext_file() 95 &ufile->device->disassociate_srcu)) in ib_uverbs_get_ucontext_file() 481 struct ib_uverbs_file *uverbs_file = async_file->uobj.ufile; in ib_uverbs_init_async_event_file() 603 bundle.ufile = file; in ib_uverbs_write() 705 struct ib_uverbs_file *ufile = vma->vm_file->private_data; in rdma_umap_open() local 713 if (!down_read_trylock(&ufile->hw_destroy_rwsem)) in rdma_umap_open() 718 if (!ufile in rdma_umap_open() 743 struct ib_uverbs_file *ufile = vma->vm_file->private_data; rdma_umap_close() local 769 struct ib_uverbs_file *ufile = vmf->vma->vm_file->private_data; rdma_umap_fault() local 809 uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile) uverbs_user_mmap_disassociate() argument [all...] |
H A D | rdma_core.h | 48 void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile, 54 * Get an ib_uobject that corresponds to the given id from ufile, assuming 72 void setup_ufile_idr_uobject(struct ib_uverbs_file *ufile); 73 void release_ufile_idr_uobject(struct ib_uverbs_file *ufile); 152 void uverbs_user_mmap_disassociate(struct ib_uverbs_file *ufile);
|
H A D | uverbs_std_types_device.c | 23 struct uverbs_api *uapi = attrs->ufile->device->uapi; in UVERBS_METHOD_INVOKE_WRITE() 64 gather_objects_handle(struct ib_uverbs_file *ufile, in gather_objects_handle() argument 82 spin_lock_irq(&ufile->uobjects_lock); in gather_objects_handle() 83 list_for_each_entry(obj, &ufile->uobjects, list) { in gather_objects_handle() 95 spin_unlock_irq(&ufile->uobjects_lock); in gather_objects_handle() 119 uapi_object = uapi_get_object(attrs->ufile->device->uapi, object_id); in UVERBS_METHOD_INFO_HANDLES() 123 handles = gather_objects_handle(attrs->ufile, uapi_object, attrs, in UVERBS_METHOD_INFO_HANDLES() 214 u32 num_comp = attrs->ufile->device->num_comp_vectors; in UVERBS_METHOD_GET_CONTEXT() 257 num_comp = attrs->ufile->device->num_comp_vectors; in UVERBS_METHOD_QUERY_CONTEXT()
|
H A D | uverbs_std_types.c | 115 mutex_lock(&attrs->ufile->device->xrcd_tree_mutex); in uverbs_free_xrcd() 117 mutex_unlock(&attrs->ufile->device->xrcd_tree_mutex); in uverbs_free_xrcd()
|
H A D | uverbs_ioctl.c | 425 &pbundle->bundle.ufile->device->disassociate_srcu); in ib_uverbs_run_method() 542 static int ib_uverbs_cmd_verbs(struct ib_uverbs_file *ufile, in ib_uverbs_cmd_verbs() argument 547 struct uverbs_api *uapi = ufile->device->uapi; in ib_uverbs_cmd_verbs() 583 pbundle->bundle.ufile = ufile; in ib_uverbs_cmd_verbs()
|
H A D | uverbs.h | 309 async_ev_file = READ_ONCE(attrs->ufile->default_async_file); in ib_uverbs_get_async_event()
|
H A D | uverbs_std_types_cq.c | 107 if (attr.comp_vector >= attrs->ufile->device->num_comp_vectors) { in UVERBS_METHOD_CQ_CREATE()
|
H A D | uverbs_std_types_wq.c | 71 wq_init_attr.wq_context = attrs->ufile; in UVERBS_METHOD_WQ_CREATE()
|
H A D | uverbs_cmd.c | 208 struct ib_uverbs_file *ufile = attrs->ufile; in ib_alloc_ucontext() local 212 ib_dev = srcu_dereference(ufile->device->ib_dev, in ib_alloc_ucontext() 213 &ufile->device->disassociate_srcu); in ib_alloc_ucontext() 222 ucontext->ufile = ufile; in ib_alloc_ucontext() 234 struct ib_uverbs_file *file = attrs->ufile; in ib_init_ucontext() 299 .num_comp_vectors = attrs->ufile->device->num_comp_vectors, in ib_uverbs_get_context() 567 struct ib_uverbs_device *ibudev = attrs->ufile->device; in ib_uverbs_open_xrcd() 677 struct ib_uverbs_device *dev = attrs->ufile in ib_uverbs_dealloc_xrcd() [all...] |
/kernel/linux/linux-5.10/include/rdma/ |
H A D | uverbs_std_types.h | 22 uapi_get_object((_attrs)->ufile->device->uapi, _object) 25 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \ 30 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \ 45 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \
|
H A D | uverbs_types.h | 54 * In all cases the caller must hold the ufile kref until alloc_commit or 66 struct ib_uverbs_file *ufile, s64 id, 107 struct ib_uverbs_file *ufile, s64 id,
|
/kernel/linux/linux-6.6/include/rdma/ |
H A D | uverbs_std_types.h | 22 uapi_get_object((_attrs)->ufile->device->uapi, _object) 25 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \ 30 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \ 45 rdma_lookup_get_uobject(uobj_get_type(_attrs, _type), (_attrs)->ufile, \
|
H A D | uverbs_types.h | 54 * In all cases the caller must hold the ufile kref until alloc_commit or 66 struct ib_uverbs_file *ufile, s64 id, 109 struct ib_uverbs_file *ufile, s64 id,
|