Searched refs:uobj (Results 1 - 25 of 25) sorted by relevance

/linux-master/drivers/infiniband/core/
H A Drdma_core.c61 static int uverbs_try_lock_object(struct ib_uobject *uobj, argument
77 return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ?
81 return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY;
88 static void assert_uverbs_usecnt(struct ib_uobject *uobj, argument
94 WARN_ON(atomic_read(&uobj->usecnt) <= 0);
97 WARN_ON(atomic_read(&uobj->usecnt) != -1);
120 * and consumes the kref on the uobj.
122 static int uverbs_destroy_uobject(struct ib_uobject *uobj, argument
131 assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE);
134 WARN_ON(!list_empty(&uobj
188 uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs) argument
225 struct ib_uobject *uobj; local
249 struct ib_uobject *uobj; local
263 struct ib_uobject *uobj; local
296 idr_add_uobj(struct ib_uobject *uobj) argument
313 struct ib_uobject *uobj; local
377 struct ib_uobject *uobj; local
428 struct ib_uobject *uobj; local
458 struct ib_uobject *uobj, *ret; local
523 alloc_abort_idr_uobject(struct ib_uobject *uobj) argument
531 destroy_hw_idr_uobject(struct ib_uobject *uobj, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) argument
552 remove_handle_idr_uobject(struct ib_uobject *uobj) argument
559 alloc_abort_fd_uobject(struct ib_uobject *uobj) argument
567 destroy_hw_fd_uobject(struct ib_uobject *uobj, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) argument
578 remove_handle_fd_uobject(struct ib_uobject *uobj) argument
582 alloc_commit_idr_uobject(struct ib_uobject *uobj) argument
619 alloc_commit_fd_uobject(struct ib_uobject *uobj) argument
643 rdma_alloc_commit_uobject(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs) argument
697 rdma_alloc_abort_uobject(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs, bool hw_obj_valid) argument
723 lookup_put_idr_uobject(struct ib_uobject *uobj, enum rdma_lookup_mode mode) argument
728 lookup_put_fd_uobject(struct ib_uobject *uobj, enum rdma_lookup_mode mode) argument
741 rdma_lookup_put_uobject(struct ib_uobject *uobj, enum rdma_lookup_mode mode) argument
811 struct ib_uobject *uobj; local
985 uverbs_finalize_object(struct ib_uobject *uobj, enum uverbs_obj_access access, bool hw_obj_valid, bool commit, struct uverbs_attr_bundle *attrs) argument
[all...]
H A Duverbs_std_types_async_fd.c14 struct ib_uobject *uobj = local
18 container_of(uobj, struct ib_uverbs_async_event_file, uobj));
22 static void uverbs_async_event_destroy_uobj(struct ib_uobject *uobj, argument
26 container_of(uobj, struct ib_uverbs_async_event_file, uobj);
38 struct ib_uobject *uobj = filp->private_data; local
41 if (!uobj)
45 container_of(uobj, struct ib_uverbs_async_event_file, uobj);
[all...]
H A Duverbs_std_types_dm.c53 struct ib_uobject *uobj = local
79 dm->uobject = uobj;
82 uobj->object = dm;
H A Duverbs_cmd.c191 struct ib_uobject *uobj = ufd_get_read(UVERBS_OBJECT_COMP_CHANNEL, local
194 if (IS_ERR(uobj))
195 return (void *)uobj;
197 uverbs_uobject_get(uobj);
198 uobj_put_read(uobj);
200 return container_of(uobj, struct ib_uverbs_completion_event_file,
201 uobj);
281 struct ib_uobject *uobj; local
292 uobj = uobj_alloc(UVERBS_OBJECT_ASYNC_EVENT, attrs, &ib_dev);
293 if (IS_ERR(uobj)) {
423 struct ib_uobject *uobj; local
699 struct ib_uobject *uobj; local
770 struct ib_uobject *uobj; local
907 struct ib_uobject *uobj; local
982 struct ib_uobject *uobj; local
1256 struct ib_uobject *uobj; local
1962 struct ib_uobject *uobj; local
2393 struct ib_uobject *uobj; local
2972 struct ib_uobject *uobj; local
3051 struct ib_uobject *uobj; local
3181 struct ib_uobject *uobj; local
3568 struct ib_uobject *uobj; local
[all...]
H A Duverbs.h126 struct ib_uobject uobj; member in struct:ib_uverbs_async_event_file
132 struct ib_uobject uobj; member in struct:ib_uverbs_completion_event_file
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);
315 uverbs_uobject_get(&async_ev_file->uobj);
H A Duverbs_std_types_counters.c58 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
77 counters->uobject = uobj;
78 uobj->object = counters;
H A Duverbs_std_types_mr.c87 struct ib_uobject *uobj = local
135 mr->uobject = uobj;
142 uobj->object = mr;
189 struct ib_uobject *uobj = local
249 mr->uobject = uobj;
255 uobj->object = mr;
H A Drdma_core.h51 int uobj_destroy(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs);
66 void uverbs_finalize_object(struct ib_uobject *uobj,
H A Duverbs_std_types_cq.c100 uobj);
149 uverbs_uobject_put(&obj->uevent.event_file->uobj);
188 struct ib_uobject *uobj = local
191 container_of(uobj, struct ib_ucq_object, uevent.uobject);
H A Duverbs_main.c143 struct ib_ucq_object *uobj)
149 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) {
155 uverbs_uobject_put(&ev_file->uobj);
158 ib_uverbs_release_uevent(&uobj->uevent);
161 void ib_uverbs_release_uevent(struct ib_uevent_object *uobj) argument
163 struct ib_uverbs_async_event_file *async_file = uobj->event_file;
170 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) {
175 uverbs_uobject_put(&async_file->uobj);
179 struct ib_uqp_object *uobj)
183 list_for_each_entry_safe(mcast, tmp, &uobj
142 ib_uverbs_release_ucq(struct ib_uverbs_completion_event_file *ev_file, struct ib_ucq_object *uobj) argument
178 ib_uverbs_detach_umcast(struct ib_qp *qp, struct ib_uqp_object *uobj) argument
371 struct ib_ucq_object *uobj; local
[all...]
H A Duverbs_std_types.c158 uverbs_completion_event_file_destroy_uobj(struct ib_uobject *uobj, argument
162 container_of(uobj, struct ib_uverbs_completion_event_file,
163 uobj);
H A Duverbs_std_types_srq.c140 uverbs_uobject_put(&obj->uevent.event_file->uobj);
200 struct ib_uobject *uobj = local
203 container_of(uobj, struct ib_usrq_object, uevent.uobject);
H A Duverbs_std_types_wq.c111 uverbs_uobject_put(&obj->uevent.event_file->uobj);
162 struct ib_uobject *uobj = local
165 container_of(uobj, struct ib_uwq_object, uevent.uobject);
H A Duverbs_std_types_qp.c282 uverbs_uobject_put(&obj->uevent.event_file->uobj);
348 struct ib_uobject *uobj = local
351 container_of(uobj, struct ib_uqp_object, uevent.uobject);
H A Dcore_priv.h322 struct ib_uqp_object *uobj, const char *caller);
H A Dverbs.c1203 struct ib_uqp_object *uobj, const char *caller)
1218 qp->uobject = uobj;
1274 * @uobj: uverbs obect
1280 struct ib_uqp_object *uobj, const char *caller)
1287 qp = create_qp(dev, pd, attr, udata, uobj, NULL);
1297 xrc_qp->uobject = uobj;
1200 create_qp(struct ib_device *dev, struct ib_pd *pd, struct ib_qp_init_attr *attr, struct ib_udata *udata, struct ib_uqp_object *uobj, const char *caller) argument
1277 ib_create_qp_user(struct ib_device *dev, struct ib_pd *pd, struct ib_qp_init_attr *attr, struct ib_udata *udata, struct ib_uqp_object *uobj, const char *caller) argument
/linux-master/include/rdma/
H A Duverbs_std_types.h15 * The uobj APIs should only be used with the write based uAPI to access
34 static inline void *_uobj_get_obj_read(struct ib_uobject *uobj) argument
36 if (IS_ERR(uobj))
38 return uobj->object;
62 static inline void uobj_put_destroy(struct ib_uobject *uobj) argument
64 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_DESTROY);
67 static inline void uobj_put_read(struct ib_uobject *uobj) argument
69 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_READ);
75 static inline void uobj_put_write(struct ib_uobject *uobj) argument
77 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRIT
80 uobj_alloc_abort(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs) argument
86 uobj_finalize_uobj_create(struct ib_uobject *uobj, struct uverbs_attr_bundle *attrs) argument
104 struct ib_uobject *uobj = rdma_alloc_begin_uobject(obj, attrs); local
114 uverbs_flow_action_fill_action(struct ib_flow_action *action, struct ib_uobject *uobj, struct ib_device *ib_dev, enum ib_flow_action_type type) argument
146 ib_set_flow(struct ib_uobject *uobj, struct ib_flow *ibflow, struct ib_qp *qp, struct ib_device *device, struct ib_uflow_resources *uflow_res) argument
172 uobj_get_object_id(struct ib_uobject *uobj) argument
[all...]
H A Duverbs_types.h60 /* This consumes the kref on uobj */
61 void (*alloc_commit)(struct ib_uobject *uobj);
62 /* This does not consume the kref on uobj */
63 void (*alloc_abort)(struct ib_uobject *uobj);
68 void (*lookup_put)(struct ib_uobject *uobj, enum rdma_lookup_mode mode);
69 /* This does not consume the kref on uobj */
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,
[all...]
/linux-master/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
H A Duchan.c77 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oproxy); local
78 struct nvkm_chan *chan = uobj->chan;
79 struct nvkm_cctx *cctx = uobj->cctx;
100 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oproxy); local
101 struct nvkm_chan *chan = uobj->chan;
102 struct nvkm_cctx *cctx = uobj->cctx;
133 struct nvkm_uobj *uobj = container_of(oproxy, typeof(*uobj), oprox local
160 struct nvkm_uobj *uobj; local
[all...]
/linux-master/drivers/infiniband/hw/mlx5/
H A Dqos.c28 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, local
73 uobj->object = pp_entry;
H A Ddevx.c81 struct ib_uobject uobj; member in struct:devx_async_event_file
592 struct ib_uobject *uobj, const void *in)
600 switch (uobj_get_object_id(uobj)) {
603 to_mcq(uobj->object)->mcq.cqn) ==
608 struct mlx5_core_srq *srq = &(to_msrq(uobj->object)->msrq);
626 to_msrq(uobj->object)->msrq.srqn) ==
632 struct mlx5_ib_qp *qp = to_mqp(uobj->object);
660 to_mrwq(uobj->object)->core_qp.qpn) ==
665 to_mrwq_ind_table(uobj->object)->rqtn) ==
671 struct devx_obj *devx_uobj = uobj
591 devx_is_valid_obj_id(struct uverbs_attr_bundle *attrs, struct ib_uobject *uobj, const void *in) argument
1470 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
1588 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, local
1635 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, local
1683 struct ib_uobject uobj; member in struct:devx_async_cmd_event_file
1702 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
1716 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
1772 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
2317 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
2794 devx_async_cmd_event_destroy_uobj(struct ib_uobject *uobj, enum rdma_remove_reason why) argument
2819 devx_async_event_destroy_uobj(struct ib_uobject *uobj, enum rdma_remove_reason why) argument
[all...]
H A Ddm.c207 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
209 struct mlx5_ib_dev *dev = to_mdev(uobj->context->device);
210 struct ib_dm *ibdm = uobj->object;
244 err = add_dm_mmap_entry(uobj->context, &op_entry->mentry,
H A Dfs.c1916 struct ib_uobject *uobj; local
1925 uobj = uverbs_attr_get_uobject(attrs, MLX5_IB_ATTR_CREATE_FLOW_HANDLE);
2005 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev, uflow_res);
2344 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
2389 uobj->object = obj;
2402 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
2461 uobj->object = obj;
2525 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
2554 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev,
2651 struct ib_uobject *uobj local
[all...]
H A Dmain.c3481 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
3499 uobj->object = entry;
3594 struct ib_uobject *uobj = uverbs_attr_get_uobject( local
3626 uobj->object = entry;
/linux-master/drivers/infiniband/hw/bnxt_re/
H A Dib_verbs.c4342 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, BNXT_RE_ALLOC_PAGE_HANDLE); local
4401 uobj->object = entry;
4485 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, BNXT_RE_TOGGLE_MEM_HANDLE); local
4537 uobj->object = entry;

Completed in 334 milliseconds