/Linux-v5.4/drivers/infiniband/core/ |
D | rdma_core.c | 52 struct ib_uobject *uobj = in uverbs_uobject_free() local 55 if (uobj->uapi_object->type_class->needs_kfree_rcu) in uverbs_uobject_free() 56 kfree_rcu(uobj, rcu); in uverbs_uobject_free() 58 kfree(uobj); in uverbs_uobject_free() 66 static int uverbs_try_lock_object(struct ib_uobject *uobj, in uverbs_try_lock_object() argument 82 return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ? in uverbs_try_lock_object() 86 return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY; in uverbs_try_lock_object() 93 static void assert_uverbs_usecnt(struct ib_uobject *uobj, in assert_uverbs_usecnt() argument 99 WARN_ON(atomic_read(&uobj->usecnt) <= 0); in assert_uverbs_usecnt() 102 WARN_ON(atomic_read(&uobj->usecnt) != -1); in assert_uverbs_usecnt() [all …]
|
D | uverbs_main.c | 138 struct ib_ucq_object *uobj) in ib_uverbs_release_ucq() argument 144 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) { in ib_uverbs_release_ucq() 150 uverbs_uobject_put(&ev_file->uobj); in ib_uverbs_release_ucq() 154 list_for_each_entry_safe(evt, tmp, &uobj->async_list, obj_list) { in ib_uverbs_release_ucq() 162 struct ib_uevent_object *uobj) in ib_uverbs_release_uevent() argument 167 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) { in ib_uverbs_release_uevent() 175 struct ib_uqp_object *uobj) in ib_uverbs_detach_umcast() argument 179 list_for_each_entry_safe(mcast, tmp, &uobj->mcast_list, list) { in ib_uverbs_detach_umcast() 300 comp_ev_file->uobj.ufile, filp, in ib_uverbs_comp_event_read() 382 struct ib_uobject *uobj = filp->private_data; in ib_uverbs_comp_event_close() local [all …]
|
D | uverbs_cmd.c | 191 struct ib_uobject *uobj = ufd_get_read(UVERBS_OBJECT_COMP_CHANNEL, in _ib_uverbs_lookup_comp_file() local 194 if (IS_ERR(uobj)) in _ib_uverbs_lookup_comp_file() 195 return (void *)uobj; in _ib_uverbs_lookup_comp_file() 197 uverbs_uobject_get(uobj); in _ib_uverbs_lookup_comp_file() 198 uobj_put_read(uobj); in _ib_uverbs_lookup_comp_file() 200 return container_of(uobj, struct ib_uverbs_completion_event_file, in _ib_uverbs_lookup_comp_file() 201 uobj); in _ib_uverbs_lookup_comp_file() 409 struct ib_uobject *uobj; in ib_uverbs_alloc_pd() local 418 uobj = uobj_alloc(UVERBS_OBJECT_PD, attrs, &ib_dev); in ib_uverbs_alloc_pd() 419 if (IS_ERR(uobj)) in ib_uverbs_alloc_pd() [all …]
|
D | uverbs_std_types_dm.c | 55 struct ib_uobject *uobj = in UVERBS_HANDLER() local 81 dm->uobject = uobj; in UVERBS_HANDLER() 84 uobj->object = dm; in UVERBS_HANDLER()
|
D | uverbs_std_types_counters.c | 55 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 76 counters->uobject = uobj; in UVERBS_HANDLER() 77 uobj->object = counters; in UVERBS_HANDLER()
|
D | uverbs.h | 134 struct ib_uobject uobj; member 229 struct ib_ucq_object *uobj); 231 struct ib_uevent_object *uobj); 247 struct ib_uqp_object *uobj);
|
D | uverbs_std_types_mr.c | 85 struct ib_uobject *uobj = in UVERBS_HANDLER() local 133 mr->uobject = uobj; in UVERBS_HANDLER() 137 uobj->object = mr; in UVERBS_HANDLER()
|
D | uverbs_std_types_cq.c | 100 uobj); in UVERBS_HANDLER() 182 struct ib_uobject *uobj = in UVERBS_HANDLER() local 185 container_of(uobj, struct ib_ucq_object, uobject); in UVERBS_HANDLER()
|
D | uverbs_std_types_flow_action.c | 311 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 331 uverbs_flow_action_fill_action(action, uobj, ib_dev, in UVERBS_HANDLER() 340 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 342 struct ib_flow_action *action = uobj->object; in UVERBS_HANDLER()
|
D | rdma_core.h | 51 int uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs); 104 int uverbs_finalize_object(struct ib_uobject *uobj,
|
D | uverbs_std_types.c | 205 static int uverbs_hot_unplug_completion_event_file(struct ib_uobject *uobj, in uverbs_hot_unplug_completion_event_file() argument 209 container_of(uobj, struct ib_uverbs_completion_event_file, in uverbs_hot_unplug_completion_event_file() 210 uobj); in uverbs_hot_unplug_completion_event_file()
|
D | core_priv.h | 323 struct ib_uobject *uobj) in _ib_create_qp() argument 338 qp->uobject = uobj; in _ib_create_qp() 348 if (uobj) in _ib_create_qp()
|
/Linux-v5.4/include/rdma/ |
D | uverbs_std_types.h | 61 static inline void *_uobj_get_obj_read(struct ib_uobject *uobj) in _uobj_get_obj_read() argument 63 if (IS_ERR(uobj)) in _uobj_get_obj_read() 65 return uobj->object; in _uobj_get_obj_read() 89 static inline void uobj_put_destroy(struct ib_uobject *uobj) in uobj_put_destroy() argument 91 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); in uobj_put_destroy() 94 static inline void uobj_put_read(struct ib_uobject *uobj) in uobj_put_read() argument 96 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_READ); in uobj_put_read() 102 static inline void uobj_put_write(struct ib_uobject *uobj) in uobj_put_write() argument 104 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); in uobj_put_write() 108 uobj_alloc_commit(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs) in uobj_alloc_commit() argument [all …]
|
D | uverbs_types.h | 88 int (*alloc_commit)(struct ib_uobject *uobj); 90 void (*alloc_abort)(struct ib_uobject *uobj); 95 void (*lookup_put)(struct ib_uobject *uobj, enum rdma_lookup_mode mode); 97 int __must_check (*destroy_hw)(struct ib_uobject *uobj, 100 void (*remove_handle)(struct ib_uobject *uobj); 129 int __must_check (*destroy_object)(struct ib_uobject *uobj, 138 void rdma_lookup_put_uobject(struct ib_uobject *uobj, 143 void rdma_alloc_abort_uobject(struct ib_uobject *uobj, 145 int __must_check rdma_alloc_commit_uobject(struct ib_uobject *uobj, 157 int (*context_closed)(struct ib_uobject *uobj,
|
D | ib_verbs.h | 2856 struct ib_uobject *uobj) in ib_is_destroy_retryable() argument 2859 uobj->context->cleanup_retryable); in ib_is_destroy_retryable() 2873 struct ib_uobject *uobj) in ib_destroy_usecnt() argument 2875 if (atomic_read(usecnt) && ib_is_destroy_retryable(-EBUSY, why, uobj)) in ib_destroy_usecnt()
|
/Linux-v5.4/drivers/gpu/drm/udl/ |
D | udl_dmabuf.c | 220 struct udl_gem_object *uobj; in udl_gem_prime_import() local 239 ret = udl_prime_create(dev, dma_buf->size, sg, &uobj); in udl_gem_prime_import() 243 uobj->base.import_attach = attach; in udl_gem_prime_import() 244 uobj->flags = UDL_BO_WC; in udl_gem_prime_import() 246 return &uobj->base; in udl_gem_prime_import()
|
/Linux-v5.4/drivers/infiniband/hw/mlx5/ |
D | devx.c | 80 struct ib_uobject uobj; member 568 struct ib_uobject *uobj, const void *in) in devx_is_valid_obj_id() argument 576 switch (uobj_get_object_id(uobj)) { in devx_is_valid_obj_id() 579 to_mcq(uobj->object)->mcq.cqn) == in devx_is_valid_obj_id() 584 struct mlx5_core_srq *srq = &(to_msrq(uobj->object)->msrq); in devx_is_valid_obj_id() 602 to_msrq(uobj->object)->msrq.srqn) == in devx_is_valid_obj_id() 608 struct mlx5_ib_qp *qp = to_mqp(uobj->object); in devx_is_valid_obj_id() 638 to_mrwq(uobj->object)->core_qp.qpn) == in devx_is_valid_obj_id() 643 to_mrwq_ind_table(uobj->object)->rqtn) == in devx_is_valid_obj_id() 647 return ((struct devx_obj *)uobj->object)->obj_id == obj_id; in devx_is_valid_obj_id() [all …]
|
D | flow.c | 83 struct ib_uobject *uobj = in UVERBS_HANDLER() local 206 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev, uflow_res); in UVERBS_HANDLER() 280 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 319 uobj->object = obj; in UVERBS_HANDLER() 389 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 418 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev, in UVERBS_HANDLER() 510 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local 560 uverbs_flow_action_fill_action(&maction->ib_action, uobj, &mdev->ib_dev, in UVERBS_HANDLER()
|
/Linux-v5.4/drivers/infiniband/sw/siw/ |
D | siw_verbs.c | 39 struct siw_uobj *uobj; in siw_create_uobj() local 43 uobj = kzalloc(sizeof(*uobj), GFP_KERNEL); in siw_create_uobj() 44 if (!uobj) in siw_create_uobj() 47 if (xa_alloc_cyclic(&uctx->xa, &key, uobj, limit, &uctx->uobj_nextkey, in siw_create_uobj() 49 kfree(uobj); in siw_create_uobj() 52 uobj->size = PAGE_ALIGN(size); in siw_create_uobj() 53 uobj->addr = vaddr; in siw_create_uobj() 61 struct siw_uobj *uobj = xa_load(&uctx->xa, off); in siw_get_uobj() local 63 if (uobj && uobj->size == size) in siw_get_uobj() 64 return uobj; in siw_get_uobj() [all …]
|