/linux-6.1.9/drivers/infiniband/core/ |
D | rdma_core.c | 61 static int uverbs_try_lock_object(struct ib_uobject *uobj, in uverbs_try_lock_object() argument 77 return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ? in uverbs_try_lock_object() 81 return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY; in uverbs_try_lock_object() 88 static void assert_uverbs_usecnt(struct ib_uobject *uobj, in assert_uverbs_usecnt() argument 94 WARN_ON(atomic_read(&uobj->usecnt) <= 0); in assert_uverbs_usecnt() 97 WARN_ON(atomic_read(&uobj->usecnt) != -1); in assert_uverbs_usecnt() 122 static int uverbs_destroy_uobject(struct ib_uobject *uobj, in uverbs_destroy_uobject() argument 131 assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE); in uverbs_destroy_uobject() 134 WARN_ON(!list_empty(&uobj->list)); in uverbs_destroy_uobject() 135 WARN_ON(!uobj->context); in uverbs_destroy_uobject() [all …]
|
D | uverbs_std_types_async_fd.c | 14 struct ib_uobject *uobj = in UVERBS_HANDLER() local 18 container_of(uobj, struct ib_uverbs_async_event_file, uobj)); in UVERBS_HANDLER() 22 static void uverbs_async_event_destroy_uobj(struct ib_uobject *uobj, in uverbs_async_event_destroy_uobj() argument 26 container_of(uobj, struct ib_uverbs_async_event_file, uobj); in uverbs_async_event_destroy_uobj() 38 struct ib_uobject *uobj = filp->private_data; in uverbs_async_event_release() local 41 if (!uobj) in uverbs_async_event_release() 45 container_of(uobj, struct ib_uverbs_async_event_file, uobj); in uverbs_async_event_release() 53 uverbs_uobject_get(uobj); in uverbs_async_event_release() 56 uverbs_uobject_put(uobj); in uverbs_async_event_release()
|
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() 281 struct ib_uobject *uobj; in ib_uverbs_get_context() local 292 uobj = uobj_alloc(UVERBS_OBJECT_ASYNC_EVENT, attrs, &ib_dev); in ib_uverbs_get_context() 293 if (IS_ERR(uobj)) { in ib_uverbs_get_context() [all …]
|
D | uverbs.h | 126 struct ib_uobject uobj; member 132 struct ib_uobject uobj; member 229 struct ib_ucq_object *uobj); 230 void ib_uverbs_release_uevent(struct ib_uevent_object *uobj); 247 struct ib_uqp_object *uobj); 313 uobj); in ib_uverbs_get_async_event() 315 uverbs_uobject_get(&async_ev_file->uobj); in ib_uverbs_get_async_event()
|
D | uverbs_std_types_dm.c | 53 struct ib_uobject *uobj = in UVERBS_HANDLER() local 79 dm->uobject = uobj; in UVERBS_HANDLER() 82 uobj->object = dm; in UVERBS_HANDLER()
|
D | uverbs_std_types_mr.c | 87 struct ib_uobject *uobj = in UVERBS_HANDLER() local 135 mr->uobject = uobj; in UVERBS_HANDLER() 142 uobj->object = mr; in UVERBS_HANDLER() 189 struct ib_uobject *uobj = in UVERBS_HANDLER() local 249 mr->uobject = uobj; in UVERBS_HANDLER() 255 uobj->object = mr; in UVERBS_HANDLER()
|
D | uverbs_main.c | 132 struct ib_ucq_object *uobj) in ib_uverbs_release_ucq() argument 138 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) { in ib_uverbs_release_ucq() 144 uverbs_uobject_put(&ev_file->uobj); in ib_uverbs_release_ucq() 147 ib_uverbs_release_uevent(&uobj->uevent); in ib_uverbs_release_ucq() 150 void ib_uverbs_release_uevent(struct ib_uevent_object *uobj) in ib_uverbs_release_uevent() argument 152 struct ib_uverbs_async_event_file *async_file = uobj->event_file; in ib_uverbs_release_uevent() 159 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) { in ib_uverbs_release_uevent() 164 uverbs_uobject_put(&async_file->uobj); in ib_uverbs_release_uevent() 168 struct ib_uqp_object *uobj) in ib_uverbs_detach_umcast() argument 172 list_for_each_entry_safe(mcast, tmp, &uobj->mcast_list, list) { in ib_uverbs_detach_umcast() [all …]
|
D | uverbs_std_types_cq.c | 100 uobj); in UVERBS_HANDLER() 149 uverbs_uobject_put(&obj->uevent.event_file->uobj); in UVERBS_HANDLER() 188 struct ib_uobject *uobj = in UVERBS_HANDLER() local 191 container_of(uobj, struct ib_ucq_object, uevent.uobject); in UVERBS_HANDLER()
|
D | uverbs_std_types_counters.c | 58 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 77 counters->uobject = uobj; in UVERBS_HANDLER() 78 uobj->object = counters; in UVERBS_HANDLER()
|
D | uverbs_std_types_wq.c | 111 uverbs_uobject_put(&obj->uevent.event_file->uobj); in UVERBS_HANDLER() 162 struct ib_uobject *uobj = in UVERBS_HANDLER() local 165 container_of(uobj, struct ib_uwq_object, uevent.uobject); in UVERBS_HANDLER()
|
D | uverbs_std_types.c | 158 uverbs_completion_event_file_destroy_uobj(struct ib_uobject *uobj, in uverbs_completion_event_file_destroy_uobj() argument 162 container_of(uobj, struct ib_uverbs_completion_event_file, in uverbs_completion_event_file_destroy_uobj() 163 uobj); in uverbs_completion_event_file_destroy_uobj()
|
D | uverbs_std_types_srq.c | 140 uverbs_uobject_put(&obj->uevent.event_file->uobj); in UVERBS_HANDLER() 200 struct ib_uobject *uobj = in UVERBS_HANDLER() local 203 container_of(uobj, struct ib_usrq_object, uevent.uobject); in UVERBS_HANDLER()
|
D | rdma_core.h | 51 int uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs); 66 void uverbs_finalize_object(struct ib_uobject *uobj,
|
D | uverbs_std_types_qp.c | 282 uverbs_uobject_put(&obj->uevent.event_file->uobj); in UVERBS_HANDLER() 348 struct ib_uobject *uobj = in UVERBS_HANDLER() local 351 container_of(uobj, struct ib_uqp_object, uevent.uobject); in UVERBS_HANDLER()
|
D | core_priv.h | 322 struct ib_uqp_object *uobj, const char *caller);
|
D | verbs.c | 1198 struct ib_uqp_object *uobj, const char *caller) in create_qp() argument 1213 qp->uobject = uobj; in create_qp() 1275 struct ib_uqp_object *uobj, const char *caller) in ib_create_qp_user() argument 1282 qp = create_qp(dev, pd, attr, udata, uobj, NULL); in ib_create_qp_user() 1292 xrc_qp->uobject = uobj; in ib_create_qp_user()
|
/linux-6.1.9/include/rdma/ |
D | uverbs_std_types.h | 34 static inline void *_uobj_get_obj_read(struct ib_uobject *uobj) in _uobj_get_obj_read() argument 36 if (IS_ERR(uobj)) in _uobj_get_obj_read() 38 return uobj->object; in _uobj_get_obj_read() 62 static inline void uobj_put_destroy(struct ib_uobject *uobj) in uobj_put_destroy() argument 64 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_DESTROY); in uobj_put_destroy() 67 static inline void uobj_put_read(struct ib_uobject *uobj) in uobj_put_read() argument 69 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_READ); in uobj_put_read() 75 static inline void uobj_put_write(struct ib_uobject *uobj) in uobj_put_write() argument 77 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); in uobj_put_write() 80 static inline void uobj_alloc_abort(struct ib_uobject *uobj, in uobj_alloc_abort() argument [all …]
|
D | uverbs_types.h | 61 void (*alloc_commit)(struct ib_uobject *uobj); 63 void (*alloc_abort)(struct ib_uobject *uobj); 68 void (*lookup_put)(struct ib_uobject *uobj, enum rdma_lookup_mode mode); 70 int __must_check (*destroy_hw)(struct ib_uobject *uobj, 73 void (*remove_handle)(struct ib_uobject *uobj); 103 int __must_check (*destroy_object)(struct ib_uobject *uobj, 112 void rdma_lookup_put_uobject(struct ib_uobject *uobj, 116 void rdma_alloc_abort_uobject(struct ib_uobject *uobj, 119 void rdma_alloc_commit_uobject(struct ib_uobject *uobj, 146 void (*destroy_object)(struct ib_uobject *uobj,
|
/linux-6.1.9/drivers/infiniband/hw/mlx5/ |
D | devx.c | 81 struct ib_uobject uobj; member 592 struct ib_uobject *uobj, const void *in) in devx_is_valid_obj_id() argument 600 switch (uobj_get_object_id(uobj)) { in devx_is_valid_obj_id() 603 to_mcq(uobj->object)->mcq.cqn) == in devx_is_valid_obj_id() 608 struct mlx5_core_srq *srq = &(to_msrq(uobj->object)->msrq); in devx_is_valid_obj_id() 626 to_msrq(uobj->object)->msrq.srqn) == in devx_is_valid_obj_id() 632 struct mlx5_ib_qp *qp = to_mqp(uobj->object); in devx_is_valid_obj_id() 660 to_mrwq(uobj->object)->core_qp.qpn) == in devx_is_valid_obj_id() 665 to_mrwq_ind_table(uobj->object)->rqtn) == in devx_is_valid_obj_id() 669 return ((struct devx_obj *)uobj->object)->obj_id == obj_id; in devx_is_valid_obj_id() [all …]
|
D | qos.c | 28 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local 73 uobj->object = pp_entry; in UVERBS_HANDLER()
|
D | dm.c | 207 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 209 struct mlx5_ib_dev *dev = to_mdev(uobj->context->device); in UVERBS_HANDLER() 210 struct ib_dm *ibdm = uobj->object; in UVERBS_HANDLER() 244 err = add_dm_mmap_entry(uobj->context, &op_entry->mentry, in UVERBS_HANDLER()
|
D | fs.c | 1919 struct ib_uobject *uobj; in UVERBS_HANDLER() local 1928 uobj = uverbs_attr_get_uobject(attrs, MLX5_IB_ATTR_CREATE_FLOW_HANDLE); in UVERBS_HANDLER() 2008 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev, uflow_res); in UVERBS_HANDLER() 2095 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 2140 uobj->object = obj; in UVERBS_HANDLER() 2153 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 2202 uobj->object = obj; in UVERBS_HANDLER() 2264 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 2293 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev, in UVERBS_HANDLER() 2390 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local [all …]
|
D | main.c | 3390 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 3408 uobj->object = entry; in UVERBS_HANDLER() 3503 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local 3535 uobj->object = entry; in UVERBS_HANDLER()
|