Home
last modified time | relevance | path

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

123

/kernel/linux/linux-5.10/drivers/infiniband/core/
H A Duverbs_std_types.c42 static int uverbs_free_ah(struct ib_uobject *uobject, in uverbs_free_ah() argument
46 return rdma_destroy_ah_user((struct ib_ah *)uobject->object, in uverbs_free_ah()
51 static int uverbs_free_flow(struct ib_uobject *uobject, in uverbs_free_flow() argument
55 struct ib_flow *flow = (struct ib_flow *)uobject->object; in uverbs_free_flow()
57 container_of(uobject, struct ib_uflow_object, uobject); in uverbs_free_flow()
71 static int uverbs_free_mw(struct ib_uobject *uobject, in uverbs_free_mw() argument
75 return uverbs_dealloc_mw((struct ib_mw *)uobject->object); in uverbs_free_mw()
78 static int uverbs_free_rwq_ind_tbl(struct ib_uobject *uobject, in uverbs_free_rwq_ind_tbl() argument
82 struct ib_rwq_ind_table *rwq_ind_tbl = uobject in uverbs_free_rwq_ind_tbl()
102 uverbs_free_xrcd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) uverbs_free_xrcd() argument
122 uverbs_free_pd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) uverbs_free_pd() argument
[all...]
H A Duverbs_std_types_srq.c10 static int uverbs_free_srq(struct ib_uobject *uobject, in uverbs_free_srq() argument
14 struct ib_srq *srq = uobject->object; in uverbs_free_srq()
16 container_of(uobject, struct ib_uevent_object, uobject); in uverbs_free_srq()
21 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_srq()
26 container_of(uobject, struct ib_usrq_object, in uverbs_free_srq()
27 uevent.uobject); in uverbs_free_srq()
41 typeof(*obj), uevent.uobject); in UVERBS_METHOD_SRQ_CREATE()
85 uobject); in UVERBS_METHOD_SRQ_CREATE()
105 obj->uevent.uobject in UVERBS_METHOD_SRQ_CREATE()
[all...]
H A Duverbs_std_types_cq.c38 static int uverbs_free_cq(struct ib_uobject *uobject, in uverbs_free_cq() argument
42 struct ib_cq *cq = uobject->object; in uverbs_free_cq()
45 container_of(uobject, struct ib_ucq_object, uevent.uobject); in uverbs_free_cq()
49 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_cq()
66 typeof(*obj), uevent.uobject); in UVERBS_METHOD_CQ_CREATE()
122 cq->uobject = obj; in UVERBS_METHOD_CQ_CREATE()
135 obj->uevent.uobject.object = cq; in UVERBS_METHOD_CQ_CREATE()
136 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_CQ_CREATE()
191 container_of(uobj, struct ib_ucq_object, uevent.uobject); in UVERBS_METHOD_CQ_DESTROY()
[all...]
H A Duverbs_std_types_wq.c10 static int uverbs_free_wq(struct ib_uobject *uobject, in uverbs_free_wq() argument
14 struct ib_wq *wq = uobject->object; in uverbs_free_wq()
16 container_of(uobject, struct ib_uwq_object, uevent.uobject); in uverbs_free_wq()
20 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_wq()
32 typeof(*obj), uevent.uobject); in UVERBS_METHOD_WQ_CREATE()
68 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_WQ_CREATE()
80 obj->uevent.uobject.object = wq; in UVERBS_METHOD_WQ_CREATE()
89 wq->uobject = obj; in UVERBS_METHOD_WQ_CREATE()
165 container_of(uobj, struct ib_uwq_object, uevent.uobject); in UVERBS_METHOD_WQ_DESTROY()
[all...]
H A Duverbs_std_types_dm.c37 static int uverbs_free_dm(struct ib_uobject *uobject, in uverbs_free_dm() argument
41 struct ib_dm *dm = uobject->object; in uverbs_free_dm()
44 ret = ib_destroy_usecnt(&dm->usecnt, why, uobject); in uverbs_free_dm()
57 ->obj_attr.uobject; in UVERBS_METHOD_DM_ALLOC()
81 dm->uobject = uobj; in UVERBS_METHOD_DM_ALLOC()
H A Duverbs_cmd.c443 pd->uobject = uobj; in ib_uverbs_alloc_pd()
623 obj->uobject.object = xrcd; in ib_uverbs_open_xrcd()
639 uobj_finalize_uobj_create(&obj->uobject, attrs); in ib_uverbs_open_xrcd()
641 resp.xrcd_handle = obj->uobject.id; in ib_uverbs_open_xrcd()
648 uobj_alloc_abort(&obj->uobject, attrs); in ib_uverbs_open_xrcd()
671 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd, in ib_uverbs_dealloc_xrcd() argument
685 if (ib_is_destroy_retryable(ret, why, uobject)) { in ib_uverbs_dealloc_xrcd()
749 mr->uobject = uobj; in ib_uverbs_reg_mr()
906 mw->uobject = uobj; in ib_uverbs_alloc_mw()
997 obj->uevent.uobject in create_cq()
[all...]
H A Duverbs_std_types_qp.c11 static int uverbs_free_qp(struct ib_uobject *uobject, in uverbs_free_qp() argument
15 struct ib_qp *qp = uobject->object; in uverbs_free_qp()
17 container_of(uobject, struct ib_uqp_object, uevent.uobject); in uverbs_free_qp()
35 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_qp()
87 typeof(*obj), uevent.uobject); in UVERBS_METHOD_QP_CREATE()
232 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_QP_CREATE()
274 uobject); in UVERBS_METHOD_QP_CREATE()
277 qp->uobject = obj; in UVERBS_METHOD_QP_CREATE()
280 obj->uevent.uobject in UVERBS_METHOD_QP_CREATE()
[all...]
H A Duverbs_std_types_counters.c38 static int uverbs_free_counters(struct ib_uobject *uobject, in uverbs_free_counters() argument
42 struct ib_counters *counters = uobject->object; in uverbs_free_counters()
45 ret = ib_destroy_usecnt(&counters->usecnt, why, uobject); in uverbs_free_counters()
78 counters->uobject = uobj; in UVERBS_METHOD_COUNTERS_CREATE()
H A Drdma_core.c51 * In order to indicate we no longer needs this uobject, uverbs_uobject_put
52 * is called. When the reference count is decreased, the uobject is freed.
55 void uverbs_uobject_put(struct ib_uobject *uobject) in uverbs_uobject_put() argument
57 kref_put(&uobject->ref, uverbs_uobject_free); in uverbs_uobject_put()
107 * also the uobject itself must be locked for write.
113 * uobject cannot be on the uobjects_lists
119 * For all other destroy modes this function internally unlocks the uobject
146 "ib_uverbs: failed to remove uobject id %d, driver err=%d", in uverbs_destroy_uobject()
192 * LOOKUP_DESTROY uobject kref.
202 * Once the uobject i in uobj_destroy()
345 struct ib_uobject *uobject; lookup_get_fd_uobject() local
[all...]
H A Duverbs.h152 * object of an associated uobject.
182 struct ib_uobject uobject; member
190 struct ib_uobject uobject; member
241 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd,
/kernel/linux/linux-6.6/drivers/infiniband/core/
H A Duverbs_std_types.c42 static int uverbs_free_ah(struct ib_uobject *uobject, in uverbs_free_ah() argument
46 return rdma_destroy_ah_user((struct ib_ah *)uobject->object, in uverbs_free_ah()
51 static int uverbs_free_flow(struct ib_uobject *uobject, in uverbs_free_flow() argument
55 struct ib_flow *flow = (struct ib_flow *)uobject->object; in uverbs_free_flow()
57 container_of(uobject, struct ib_uflow_object, uobject); in uverbs_free_flow()
71 static int uverbs_free_mw(struct ib_uobject *uobject, in uverbs_free_mw() argument
75 return uverbs_dealloc_mw((struct ib_mw *)uobject->object); in uverbs_free_mw()
78 static int uverbs_free_rwq_ind_tbl(struct ib_uobject *uobject, in uverbs_free_rwq_ind_tbl() argument
82 struct ib_rwq_ind_table *rwq_ind_tbl = uobject in uverbs_free_rwq_ind_tbl()
102 uverbs_free_xrcd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) uverbs_free_xrcd() argument
121 uverbs_free_pd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) uverbs_free_pd() argument
[all...]
H A Duverbs_std_types_srq.c10 static int uverbs_free_srq(struct ib_uobject *uobject, in uverbs_free_srq() argument
14 struct ib_srq *srq = uobject->object; in uverbs_free_srq()
16 container_of(uobject, struct ib_uevent_object, uobject); in uverbs_free_srq()
26 container_of(uobject, struct ib_usrq_object, in uverbs_free_srq()
27 uevent.uobject); in uverbs_free_srq()
41 typeof(*obj), uevent.uobject); in UVERBS_METHOD_SRQ_CREATE()
85 uobject); in UVERBS_METHOD_SRQ_CREATE()
105 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_SRQ_CREATE()
113 obj->uevent.uobject in UVERBS_METHOD_SRQ_CREATE()
[all...]
H A Duverbs_std_types_cq.c38 static int uverbs_free_cq(struct ib_uobject *uobject, in uverbs_free_cq() argument
42 struct ib_cq *cq = uobject->object; in uverbs_free_cq()
45 container_of(uobject, struct ib_ucq_object, uevent.uobject); in uverbs_free_cq()
66 typeof(*obj), uevent.uobject); in UVERBS_METHOD_CQ_CREATE()
122 cq->uobject = obj; in UVERBS_METHOD_CQ_CREATE()
135 obj->uevent.uobject.object = cq; in UVERBS_METHOD_CQ_CREATE()
136 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_CQ_CREATE()
191 container_of(uobj, struct ib_ucq_object, uevent.uobject); in UVERBS_METHOD_CQ_DESTROY()
H A Duverbs_std_types_wq.c10 static int uverbs_free_wq(struct ib_uobject *uobject, in uverbs_free_wq() argument
14 struct ib_wq *wq = uobject->object; in uverbs_free_wq()
16 container_of(uobject, struct ib_uwq_object, uevent.uobject); in uverbs_free_wq()
32 typeof(*obj), uevent.uobject); in UVERBS_METHOD_WQ_CREATE()
68 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_WQ_CREATE()
80 obj->uevent.uobject.object = wq; in UVERBS_METHOD_WQ_CREATE()
89 wq->uobject = obj; in UVERBS_METHOD_WQ_CREATE()
165 container_of(uobj, struct ib_uwq_object, uevent.uobject); in UVERBS_METHOD_WQ_DESTROY()
H A Duverbs_std_types_qp.c11 static int uverbs_free_qp(struct ib_uobject *uobject, in uverbs_free_qp() argument
15 struct ib_qp *qp = uobject->object; in uverbs_free_qp()
17 container_of(uobject, struct ib_uqp_object, uevent.uobject); in uverbs_free_qp()
87 typeof(*obj), uevent.uobject); in UVERBS_METHOD_QP_CREATE()
232 obj->uevent.uobject.user_handle = user_handle; in UVERBS_METHOD_QP_CREATE()
261 uobject); in UVERBS_METHOD_QP_CREATE()
265 obj->uevent.uobject.object = qp; in UVERBS_METHOD_QP_CREATE()
351 container_of(uobj, struct ib_uqp_object, uevent.uobject); in UVERBS_METHOD_QP_DESTROY()
H A Duverbs_cmd.c443 pd->uobject = uobj; in ib_uverbs_alloc_pd()
623 obj->uobject.object = xrcd; in ib_uverbs_open_xrcd()
639 uobj_finalize_uobj_create(&obj->uobject, attrs); in ib_uverbs_open_xrcd()
641 resp.xrcd_handle = obj->uobject.id; in ib_uverbs_open_xrcd()
648 uobj_alloc_abort(&obj->uobject, attrs); in ib_uverbs_open_xrcd()
671 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd, in ib_uverbs_dealloc_xrcd() argument
739 mr->uobject = uobj; in ib_uverbs_reg_mr()
822 * to have a uobject ready to hold it. in ib_uverbs_rereg_mr()
841 new_mr->uobject = uobj; in ib_uverbs_rereg_mr()
940 mw->uobject in ib_uverbs_alloc_mw()
[all...]
H A Duverbs_std_types_dm.c37 static int uverbs_free_dm(struct ib_uobject *uobject, in uverbs_free_dm() argument
41 struct ib_dm *dm = uobject->object; in uverbs_free_dm()
55 ->obj_attr.uobject; in UVERBS_METHOD_DM_ALLOC()
79 dm->uobject = uobj; in UVERBS_METHOD_DM_ALLOC()
H A Duverbs_std_types_flow_action.c37 static int uverbs_free_flow_action(struct ib_uobject *uobject, in uverbs_free_flow_action() argument
41 struct ib_flow_action *action = uobject->object; in uverbs_free_flow_action()
H A Duverbs_std_types_counters.c38 static int uverbs_free_counters(struct ib_uobject *uobject, in uverbs_free_counters() argument
42 struct ib_counters *counters = uobject->object; in uverbs_free_counters()
77 counters->uobject = uobj; in UVERBS_METHOD_COUNTERS_CREATE()
H A Drdma_core.c51 * In order to indicate we no longer needs this uobject, uverbs_uobject_put
52 * is called. When the reference count is decreased, the uobject is freed.
55 void uverbs_uobject_put(struct ib_uobject *uobject) in uverbs_uobject_put() argument
57 kref_put(&uobject->ref, uverbs_uobject_free); in uverbs_uobject_put()
107 * also the uobject itself must be locked for write.
113 * uobject cannot be on the uobjects_lists
119 * For all other destroy modes this function internally unlocks the uobject
186 * LOOKUP_DESTROY uobject kref.
196 * Once the uobject is destroyed by RDMA_REMOVE_DESTROY then it is left in uobj_destroy()
339 struct ib_uobject *uobject; in lookup_get_fd_uobject() local
[all...]
H A Duverbs_std_types_mr.c39 static int uverbs_free_mr(struct ib_uobject *uobject, in uverbs_free_mr() argument
43 return ib_dereg_mr_user((struct ib_mr *)uobject->object, in uverbs_free_mr()
135 mr->uobject = uobj; in UVERBS_METHOD_DM_MR_REG()
249 mr->uobject = uobj; in UVERBS_METHOD_REG_DMABUF_MR()
/kernel/linux/linux-5.10/include/rdma/
H A Duverbs_std_types.h73 uobj_put_read((_obj)->uobject)
96 WARN_ON(attrs->uobject); in uobj_finalize_uobj_create()
97 attrs->uobject = uobj; in uobj_finalize_uobj_create()
122 action->uobject = uobj; in uverbs_flow_action_fill_action()
136 struct ib_uobject uobject; member
153 ibflow->uobject = uobj; in ib_set_flow()
161 uflow = container_of(uobj, typeof(*uflow), uobject); in ib_set_flow()
H A Duverbs_types.h19 * Destroy is like LOOKUP_WRITE, except that the uobject is not
96 /* Free driver resources from the uobject, make the driver uncallable,
97 * and move the uobject to the detached state. If the object was
98 * destroyed by the user's request, a failure should leave the uobject
122 * an uobject. This is useful when a handler wants to keep the uobject's memory
123 * alive, regardless if this uobject is still alive in the context's objects
126 static inline void uverbs_uobject_get(struct ib_uobject *uobject) in uverbs_uobject_get() argument
128 kref_get(&uobject->ref); in uverbs_uobject_get()
130 void uverbs_uobject_put(struct ib_uobject *uobject);
[all...]
/kernel/linux/linux-6.6/include/rdma/
H A Duverbs_std_types.h73 uobj_put_read((_obj)->uobject)
96 WARN_ON(attrs->uobject); in uobj_finalize_uobj_create()
97 attrs->uobject = uobj; in uobj_finalize_uobj_create()
122 action->uobject = uobj; in uverbs_flow_action_fill_action()
136 struct ib_uobject uobject; member
153 ibflow->uobject = uobj; in ib_set_flow()
161 uflow = container_of(uobj, typeof(*uflow), uobject); in ib_set_flow()
H A Duverbs_types.h19 * Destroy is like LOOKUP_WRITE, except that the uobject is not
98 /* Free driver resources from the uobject, make the driver uncallable,
99 * and move the uobject to the detached state. If the object was
100 * destroyed by the user's request, a failure should leave the uobject
127 * an uobject. This is useful when a handler wants to keep the uobject's memory
128 * alive, regardless if this uobject is still alive in the context's objects
131 static inline void uverbs_uobject_get(struct ib_uobject *uobject) in uverbs_uobject_get() argument
133 kref_get(&uobject->ref); in uverbs_uobject_get()
135 void uverbs_uobject_put(struct ib_uobject *uobject);
[all...]

Completed in 14 milliseconds

123