Home
last modified time | relevance | path

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

/linux/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) in _uobj_get_obj_read() argument
36 if (IS_ERR(uobj)) in _uobj_get_obj_read()
37 return ERR_CAST(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
80 uobj_alloc_abort(struct ib_uobject * uobj,struct uverbs_attr_bundle * attrs) uobj_alloc_abort() argument
86 uobj_finalize_uobj_create(struct ib_uobject * uobj,struct uverbs_attr_bundle * attrs) uobj_finalize_uobj_create() argument
104 struct ib_uobject *uobj = rdma_alloc_begin_uobject(obj, attrs); __uobj_alloc() local
115 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) uverbs_flow_action_fill_action() 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) ib_set_flow() argument
172 uobj_get_object_id(struct ib_uobject * uobj) uobj_get_object_id() argument
[all...]
/linux/drivers/infiniband/core/
H A 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()
H A Duverbs_cmd.c192 struct ib_uobject *uobj = ufd_get_read(UVERBS_OBJECT_COMP_CHANNEL, in _ib_uverbs_lookup_comp_file() local
195 if (IS_ERR(uobj)) in _ib_uverbs_lookup_comp_file()
196 return ERR_CAST(uobj); in _ib_uverbs_lookup_comp_file()
198 uverbs_uobject_get(uobj); in _ib_uverbs_lookup_comp_file()
199 uobj_put_read(uobj); in _ib_uverbs_lookup_comp_file()
201 return container_of(uobj, struct ib_uverbs_completion_event_file, in _ib_uverbs_lookup_comp_file()
202 uobj); in _ib_uverbs_lookup_comp_file()
300 struct ib_uobject *uobj; in ib_uverbs_get_context() local
311 uobj = uobj_alloc(UVERBS_OBJECT_ASYNC_EVENT, attrs, &ib_dev); in ib_uverbs_get_context()
312 if (IS_ERR(uobj)) { in ib_uverbs_get_context()
[all …]
H A Duverbs_main.c145 struct ib_ucq_object *uobj) in ib_uverbs_release_ucq() argument
151 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) { in ib_uverbs_release_ucq()
157 uverbs_uobject_put(&ev_file->uobj); in ib_uverbs_release_ucq()
160 ib_uverbs_release_uevent(&uobj->uevent); in ib_uverbs_release_ucq()
163 void ib_uverbs_release_uevent(struct ib_uevent_object *uobj) in ib_uverbs_release_uevent() argument
165 struct ib_uverbs_async_event_file *async_file = uobj->event_file; in ib_uverbs_release_uevent()
172 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) { in ib_uverbs_release_uevent()
177 uverbs_uobject_put(&async_file->uobj); in ib_uverbs_release_uevent()
181 struct ib_uqp_object *uobj) in ib_uverbs_detach_umcast() argument
185 list_for_each_entry_safe(mcast, tmp, &uobj->mcast_list, list) { in ib_uverbs_detach_umcast()
[all …]
H A 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()
H A 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()
H A Duverbs_std_types_cq.c106 uobj); in UVERBS_HANDLER()
214 uverbs_uobject_put(&obj->uevent.event_file->uobj); in UVERBS_HANDLER()
264 struct ib_uobject *uobj = in UVERBS_HANDLER() local
267 container_of(uobj, struct ib_ucq_object, uevent.uobject); in UVERBS_HANDLER()
H A 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()
H A 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()
H A 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()
H A Dcore_priv.h322 struct ib_uqp_object *uobj, const char *caller);
H A Dverbs.c1268 struct ib_uqp_object *uobj, const char *caller) in create_qp() argument
1283 qp->uobject = uobj; in create_qp()
1347 struct ib_uqp_object *uobj, const char *caller) in ib_create_qp_user() argument
1354 qp = create_qp(dev, pd, attr, udata, uobj, NULL); in ib_create_qp_user()
1364 xrc_qp->uobject = uobj; in ib_create_qp_user()
/linux/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
H A 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 …]
/linux/drivers/infiniband/hw/mlx5/
H A Ddevx.c95 struct ib_uobject uobj; member
635 struct ib_uobject *uobj, const void *in) in devx_is_valid_obj_id() argument
643 switch (uobj_get_object_id(uobj)) { in devx_is_valid_obj_id()
646 to_mcq(uobj->object)->mcq.cqn) == in devx_is_valid_obj_id()
651 struct mlx5_core_srq *srq = &(to_msrq(uobj->object)->msrq); in devx_is_valid_obj_id()
669 to_msrq(uobj->object)->msrq.srqn) == in devx_is_valid_obj_id()
675 struct mlx5_ib_qp *qp = to_mqp(uobj->object); in devx_is_valid_obj_id()
703 to_mrwq(uobj->object)->core_qp.qpn) == in devx_is_valid_obj_id()
708 to_mrwq_ind_table(uobj->object)->rqtn) == in devx_is_valid_obj_id()
714 struct devx_obj *devx_uobj = uobj->object; in devx_is_valid_obj_id()
[all …]
H A Dqos.c28 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local
73 uobj->object = pp_entry; in UVERBS_HANDLER()
H A 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()
H A Dfs.c2468 struct ib_uobject *uobj; in UVERBS_HANDLER() local
2477 uobj = uverbs_attr_get_uobject(attrs, MLX5_IB_ATTR_CREATE_FLOW_HANDLE); in UVERBS_HANDLER()
2563 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev, uflow_res); in UVERBS_HANDLER()
2914 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
2973 if (!verify_context_caps(dev, uobj->context->enabled_caps)) { in UVERBS_HANDLER()
2979 uobj->object = obj; in UVERBS_HANDLER()
2992 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
3051 uobj->object = obj; in UVERBS_HANDLER()
3115 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
3144 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev, in UVERBS_HANDLER()
[all …]
H A Dmain.c4191 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
4209 uobj->object = entry; in UVERBS_HANDLER()
4304 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
4336 uobj->object = entry; in UVERBS_HANDLER()
/linux/drivers/infiniband/hw/bnxt_re/
H A Dib_verbs.c4697 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, BNXT_RE_ALLOC_PAGE_HANDLE); in UVERBS_HANDLER() local
4756 uobj->object = entry; in UVERBS_HANDLER()
4840 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, BNXT_RE_TOGGLE_MEM_HANDLE); in UVERBS_HANDLER() local
4894 uobj->object = entry; in UVERBS_HANDLER()