/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_main.c | 143 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 …]
|
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_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_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 | 1200 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/ |
D | uchan.c | 77 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/ |
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() 671 struct devx_obj *devx_uobj = uobj->object; 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 | 1916 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 …]
|
D | main.c | 3453 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/ |
D | ib_verbs.c | 4292 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()
|