Home
last modified time | relevance | path

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

/Linux-v4.19/drivers/infiniband/core/
Drdma_core.c52 struct ib_uobject *uobj = in uverbs_uobject_free() local
55 if (uobj->uapi_object->type_class->needs_kfree_rcu) in uverbs_uobject_free()
56 kfree_rcu(uobj, rcu); in uverbs_uobject_free()
58 kfree(uobj); in uverbs_uobject_free()
66 static int uverbs_try_lock_object(struct ib_uobject *uobj, in uverbs_try_lock_object() argument
82 return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ? in uverbs_try_lock_object()
86 return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY; in uverbs_try_lock_object()
93 static void assert_uverbs_usecnt(struct ib_uobject *uobj, in assert_uverbs_usecnt() argument
99 WARN_ON(atomic_read(&uobj->usecnt) <= 0); in assert_uverbs_usecnt()
102 WARN_ON(atomic_read(&uobj->usecnt) != -1); in assert_uverbs_usecnt()
[all …]
Duverbs_main.c196 struct ib_ucq_object *uobj) in ib_uverbs_release_ucq() argument
202 list_for_each_entry_safe(evt, tmp, &uobj->comp_list, obj_list) { in ib_uverbs_release_ucq()
208 uverbs_uobject_put(&ev_file->uobj); in ib_uverbs_release_ucq()
212 list_for_each_entry_safe(evt, tmp, &uobj->async_list, obj_list) { in ib_uverbs_release_ucq()
220 struct ib_uevent_object *uobj) in ib_uverbs_release_uevent() argument
225 list_for_each_entry_safe(evt, tmp, &uobj->event_list, obj_list) { in ib_uverbs_release_uevent()
233 struct ib_uqp_object *uobj) in ib_uverbs_detach_umcast() argument
237 list_for_each_entry_safe(mcast, tmp, &uobj->mcast_list, list) { in ib_uverbs_detach_umcast()
350 comp_ev_file->uobj.ufile, filp, in ib_uverbs_comp_event_read()
432 struct ib_uobject *uobj = filp->private_data; in ib_uverbs_comp_event_close() local
[all …]
Duverbs_std_types_dm.c54 struct ib_uobject *uobj = in UVERBS_HANDLER() local
57 struct ib_device *ib_dev = uobj->context->device; in UVERBS_HANDLER()
74 dm = ib_dev->alloc_dm(ib_dev, uobj->context, &attr, attrs); in UVERBS_HANDLER()
80 dm->uobject = uobj; in UVERBS_HANDLER()
83 uobj->object = dm; in UVERBS_HANDLER()
Duverbs_cmd.c53 struct ib_uobject *uobj = ufd_get_read(UVERBS_OBJECT_COMP_CHANNEL, in _ib_uverbs_lookup_comp_file() local
56 if (IS_ERR(uobj)) in _ib_uverbs_lookup_comp_file()
57 return (void *)uobj; in _ib_uverbs_lookup_comp_file()
59 uverbs_uobject_get(uobj); in _ib_uverbs_lookup_comp_file()
60 uobj_put_read(uobj); in _ib_uverbs_lookup_comp_file()
62 return container_of(uobj, struct ib_uverbs_completion_event_file, in _ib_uverbs_lookup_comp_file()
63 uobj); in _ib_uverbs_lookup_comp_file()
354 struct ib_uobject *uobj; in ib_uverbs_alloc_pd() local
370 uobj = uobj_alloc(UVERBS_OBJECT_PD, file, &ib_dev); in ib_uverbs_alloc_pd()
371 if (IS_ERR(uobj)) in ib_uverbs_alloc_pd()
[all …]
Duverbs_std_types_counters.c53 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
55 struct ib_device *ib_dev = uobj->context->device; in UVERBS_HANDLER()
74 counters->uobject = uobj; in UVERBS_HANDLER()
75 uobj->object = counters; in UVERBS_HANDLER()
Duverbs_std_types_flow_action.c310 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
312 struct ib_device *ib_dev = uobj->context->device; in UVERBS_HANDLER()
332 action->uobject = uobj; in UVERBS_HANDLER()
333 uobj->object = action; in UVERBS_HANDLER()
341 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
343 struct ib_flow_action *action = uobj->object; in UVERBS_HANDLER()
Duverbs_std_types_mr.c46 struct ib_uobject *uobj = in UVERBS_HANDLER() local
93 mr->uobject = uobj; in UVERBS_HANDLER()
97 uobj->object = mr; in UVERBS_HANDLER()
Drdma_core.h51 int uobj_destroy(struct ib_uobject *uobj);
105 int uverbs_finalize_object(struct ib_uobject *uobj,
Duverbs_std_types_cq.c100 uobj); in UVERBS_HANDLER()
178 struct ib_uobject *uobj = in UVERBS_HANDLER() local
181 container_of(uobj, struct ib_ucq_object, uobject); in UVERBS_HANDLER()
Duverbs.h133 struct ib_uobject uobj; member
236 struct ib_ucq_object *uobj);
238 struct ib_uevent_object *uobj);
253 struct ib_uqp_object *uobj);
Duverbs_std_types.c194 static int uverbs_hot_unplug_completion_event_file(struct ib_uobject *uobj, in uverbs_hot_unplug_completion_event_file() argument
198 container_of(uobj, struct ib_uverbs_completion_event_file, in uverbs_hot_unplug_completion_event_file()
199 uobj); in uverbs_hot_unplug_completion_event_file()
Dcore_priv.h306 struct ib_uobject *uobj) in _ib_create_qp() argument
319 qp->uobject = uobj; in _ib_create_qp()
/Linux-v4.19/include/rdma/
Duverbs_std_types.h69 static inline void *_uobj_get_obj_read(struct ib_uobject *uobj) in _uobj_get_obj_read() argument
71 if (IS_ERR(uobj)) in _uobj_get_obj_read()
73 return uobj->object; in _uobj_get_obj_read()
96 static inline void uobj_put_destroy(struct ib_uobject *uobj) in uobj_put_destroy() argument
98 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); in uobj_put_destroy()
101 static inline void uobj_put_read(struct ib_uobject *uobj) in uobj_put_read() argument
103 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_READ); in uobj_put_read()
109 static inline void uobj_put_write(struct ib_uobject *uobj) in uobj_put_write() argument
111 rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); in uobj_put_write()
114 static inline int __must_check uobj_alloc_commit(struct ib_uobject *uobj, in uobj_alloc_commit() argument
[all …]
Duverbs_types.h88 int (*alloc_commit)(struct ib_uobject *uobj);
90 void (*alloc_abort)(struct ib_uobject *uobj);
95 void (*lookup_put)(struct ib_uobject *uobj, enum rdma_lookup_mode mode);
97 int __must_check (*destroy_hw)(struct ib_uobject *uobj,
99 void (*remove_handle)(struct ib_uobject *uobj);
128 int __must_check (*destroy_object)(struct ib_uobject *uobj,
135 void rdma_lookup_put_uobject(struct ib_uobject *uobj,
139 void rdma_alloc_abort_uobject(struct ib_uobject *uobj);
140 int __must_check rdma_alloc_commit_uobject(struct ib_uobject *uobj);
151 int (*context_closed)(struct ib_uobject *uobj,
Dib_verbs.h2685 struct ib_uobject *uobj) in ib_is_destroy_retryable() argument
2688 uobj->context->cleanup_retryable); in ib_is_destroy_retryable()
2702 struct ib_uobject *uobj) in ib_destroy_usecnt() argument
2704 if (atomic_read(usecnt) && ib_is_destroy_retryable(-EBUSY, why, uobj)) in ib_destroy_usecnt()
4156 static inline void ib_set_flow(struct ib_uobject *uobj, struct ib_flow *ibflow, in ib_set_flow() argument
4159 uobj->object = ibflow; in ib_set_flow()
4160 ibflow->uobject = uobj; in ib_set_flow()
/Linux-v4.19/drivers/infiniband/hw/mlx5/
Dflow.c52 struct ib_uobject *uobj = in UVERBS_HANDLER() local
54 struct mlx5_ib_dev *dev = to_mdev(uobj->context->device); in UVERBS_HANDLER()
111 ib_set_flow(uobj, &flow_handler->ibflow, qp, &dev->ib_dev); in UVERBS_HANDLER()
133 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
135 struct mlx5_ib_dev *dev = to_mdev(uobj->context->device); in UVERBS_HANDLER()
168 uobj->object = obj; in UVERBS_HANDLER()
Ddevx.c722 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
724 struct mlx5_ib_ucontext *c = to_mucontext(uobj->context); in UVERBS_HANDLER()
751 uobj->object = obj; in UVERBS_HANDLER()
775 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local
777 struct mlx5_ib_ucontext *c = to_mucontext(uobj->context); in UVERBS_HANDLER()
778 struct devx_obj *obj = uobj->object; in UVERBS_HANDLER()
812 struct ib_uobject *uobj = uverbs_attr_get_uobject(attrs, in UVERBS_HANDLER() local
814 struct mlx5_ib_ucontext *c = to_mucontext(uobj->context); in UVERBS_HANDLER()
815 struct devx_obj *obj = uobj->object; in UVERBS_HANDLER()
923 struct ib_uobject *uobj = uverbs_attr_get_uobject( in UVERBS_HANDLER() local
[all …]
Dqp.c1304 struct ib_uobject *uobj = pd->uobject; in create_raw_packet_qp() local
1305 struct ib_ucontext *ucontext = uobj->context; in create_raw_packet_qp()
1398 struct ib_uobject *uobj = pd->uobject; in create_rss_raw_qp_tir() local
1399 struct ib_ucontext *ucontext = uobj->context; in create_rss_raw_qp_tir()
/Linux-v4.19/drivers/gpu/drm/udl/
Dudl_dmabuf.c231 struct udl_gem_object *uobj; in udl_gem_prime_import() local
250 ret = udl_prime_create(dev, dma_buf->size, sg, &uobj); in udl_gem_prime_import()
254 uobj->base.import_attach = attach; in udl_gem_prime_import()
255 uobj->flags = UDL_BO_WC; in udl_gem_prime_import()
257 return &uobj->base; in udl_gem_prime_import()