Home
last modified time | relevance | path

Searched refs:uobj (Results 1 – 23 of 23) sorted by relevance

/drivers/infiniband/core/
Drdma_core.c61 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 …]
Duverbs_std_types_async_fd.c14 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()
Duverbs_cmd.c191 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 …]
Duverbs.h126 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()
Duverbs_main.c143 struct ib_ucq_object *uobj) in ib_uverbs_release_ucq() argument
149 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) { in ib_uverbs_release_ucq()
155 uverbs_uobject_put(&ev_file->uobj); in ib_uverbs_release_ucq()
158 ib_uverbs_release_uevent(&uobj->uevent); in ib_uverbs_release_ucq()
161 void ib_uverbs_release_uevent(struct ib_uevent_object *uobj) in ib_uverbs_release_uevent() argument
163 struct ib_uverbs_async_event_file *async_file = uobj->event_file; in ib_uverbs_release_uevent()
170 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) { in ib_uverbs_release_uevent()
175 uverbs_uobject_put(&async_file->uobj); in ib_uverbs_release_uevent()
179 struct ib_uqp_object *uobj) in ib_uverbs_detach_umcast() argument
183 list_for_each_entry_safe(mcast, tmp, &uobj->mcast_list, list) { in ib_uverbs_detach_umcast()
[all …]
Duverbs_std_types_mr.c87 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()
Duverbs_std_types_dm.c53 struct ib_uobject *uobj = in UVERBS_HANDLER() local
79 dm->uobject = uobj; in UVERBS_HANDLER()
82 uobj->object = dm; in UVERBS_HANDLER()
Duverbs_std_types_cq.c100 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()
Duverbs_std_types_counters.c58 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()
Duverbs_std_types_wq.c111 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()
Duverbs_std_types.c158 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()
Duverbs_std_types_srq.c140 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()
Drdma_core.h51 int uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs);
66 void uverbs_finalize_object(struct ib_uobject *uobj,
Duverbs_std_types_qp.c282 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()
Dcore_priv.h322 struct ib_uqp_object *uobj, const char *caller);
Dverbs.c1200 struct ib_uqp_object *uobj, const char *caller) in create_qp() argument
1215 qp->uobject = uobj; in create_qp()
1277 struct ib_uqp_object *uobj, const char *caller) in ib_create_qp_user() argument
1284 qp = create_qp(dev, pd, attr, udata, uobj, NULL); in ib_create_qp_user()
1294 xrc_qp->uobject = uobj; in ib_create_qp_user()
/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
Duchan.c77 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oproxy); in nvkm_uchan_object_fini_1() local
78 struct nvkm_chan *chan = uobj->chan; in nvkm_uchan_object_fini_1()
79 struct nvkm_cctx *cctx = uobj->cctx; in nvkm_uchan_object_fini_1()
100 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oproxy); in nvkm_uchan_object_init_0() local
101 struct nvkm_chan *chan = uobj->chan; in nvkm_uchan_object_init_0()
102 struct nvkm_cctx *cctx = uobj->cctx; in nvkm_uchan_object_init_0()
133 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oproxy); in nvkm_uchan_object_dtor() local
136 if (!uobj->cctx) in nvkm_uchan_object_dtor()
139 engn = uobj->cctx->vctx->ectx->engn; in nvkm_uchan_object_dtor()
141 engn->func->ramht_del(uobj->chan, uobj->hash); in nvkm_uchan_object_dtor()
[all …]
/drivers/infiniband/hw/mlx5/
Ddevx.c81 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()
671 struct devx_obj *devx_uobj = uobj->object; in devx_is_valid_obj_id()
[all …]
Dqos.c28 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local
73 uobj->object = pp_entry; in UVERBS_HANDLER()
Ddm.c207 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()
Dfs.c1916 struct ib_uobject *uobj; in UVERBS_HANDLER() local
1925 uobj = uverbs_attr_get_uobject(attrs, MLX5_IB_ATTR_CREATE_FLOW_HANDLE); in UVERBS_HANDLER()
2005 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev, uflow_res); in UVERBS_HANDLER()
2344 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
2389 uobj->object = obj; in UVERBS_HANDLER()
2402 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
2461 uobj->object = obj; in UVERBS_HANDLER()
2525 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
2554 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev, in UVERBS_HANDLER()
2651 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local
[all …]
Dmain.c3453 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
3471 uobj->object = entry; in UVERBS_HANDLER()
3566 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
3598 uobj->object = entry; in UVERBS_HANDLER()
/drivers/infiniband/hw/bnxt_re/
Dib_verbs.c4292 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, BNXT_RE_ALLOC_PAGE_HANDLE); in UVERBS_HANDLER() local
4351 uobj->object = entry; in UVERBS_HANDLER()