/linux-master/drivers/infiniband/core/ |
H A D | rdma_core.c | 61 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 D | uverbs_std_types_async_fd.c | 14 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 D | uverbs_std_types_dm.c | 53 struct ib_uobject *uobj = local 79 dm->uobject = uobj; 82 uobj->object = dm;
|
H A D | uverbs_cmd.c | 191 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 D | uverbs.h | 126 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 D | uverbs_std_types_counters.c | 58 struct ib_uobject *uobj = uverbs_attr_get_uobject( local 77 counters->uobject = uobj; 78 uobj->object = counters;
|
H A D | uverbs_std_types_mr.c | 87 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 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,
|
H A D | uverbs_std_types_cq.c | 100 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 D | uverbs_main.c | 143 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 D | uverbs_std_types.c | 158 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 D | uverbs_std_types_srq.c | 140 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 D | uverbs_std_types_wq.c | 111 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 D | uverbs_std_types_qp.c | 282 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 D | core_priv.h | 322 struct ib_uqp_object *uobj, const char *caller);
|
H A D | verbs.c | 1203 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 D | uverbs_std_types.h | 15 * 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 D | uverbs_types.h | 60 /* 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 D | uchan.c | 77 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 D | qos.c | 28 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, local 73 uobj->object = pp_entry;
|
H A D | devx.c | 81 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 D | dm.c | 207 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 D | fs.c | 1916 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 D | main.c | 3481 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 D | ib_verbs.c | 4342 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;
|