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

12

/linux-master/drivers/infiniband/core/
H A Duverbs_std_types_flow_action.c37 static int uverbs_free_flow_action(struct ib_uobject *uobject, argument
41 struct ib_flow_action *action = uobject->object;
H A Duverbs_std_types.c42 static int uverbs_free_ah(struct ib_uobject *uobject, argument
46 return rdma_destroy_ah_user((struct ib_ah *)uobject->object,
51 static int uverbs_free_flow(struct ib_uobject *uobject, argument
55 struct ib_flow *flow = (struct ib_flow *)uobject->object;
57 container_of(uobject, struct ib_uflow_object, uobject);
71 static int uverbs_free_mw(struct ib_uobject *uobject, argument
75 return uverbs_dealloc_mw((struct ib_mw *)uobject->object);
78 static int uverbs_free_rwq_ind_tbl(struct ib_uobject *uobject, argument
82 struct ib_rwq_ind_table *rwq_ind_tbl = uobject
102 uverbs_free_xrcd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) argument
121 uverbs_free_pd(struct ib_uobject *uobject, enum rdma_remove_reason why, struct uverbs_attr_bundle *attrs) argument
[all...]
H A Duverbs_std_types_dm.c37 static int uverbs_free_dm(struct ib_uobject *uobject, argument
41 struct ib_dm *dm = uobject->object;
55 ->obj_attr.uobject;
79 dm->uobject = uobj;
H A Duverbs_std_types_srq.c10 static int uverbs_free_srq(struct ib_uobject *uobject, argument
14 struct ib_srq *srq = uobject->object;
16 container_of(uobject, struct ib_uevent_object, uobject);
26 container_of(uobject, struct ib_usrq_object,
27 uevent.uobject);
41 typeof(*obj), uevent.uobject);
85 uobject);
105 obj->uevent.uobject.user_handle = user_handle;
113 obj->uevent.uobject
[all...]
H A Duverbs_std_types_cq.c38 static int uverbs_free_cq(struct ib_uobject *uobject, argument
42 struct ib_cq *cq = uobject->object;
45 container_of(uobject, struct ib_ucq_object, uevent.uobject);
66 typeof(*obj), uevent.uobject);
122 cq->uobject = obj;
135 obj->uevent.uobject.object = cq;
136 obj->uevent.uobject.user_handle = user_handle;
191 container_of(uobj, struct ib_ucq_object, uevent.uobject);
H A Duverbs_std_types_wq.c10 static int uverbs_free_wq(struct ib_uobject *uobject, argument
14 struct ib_wq *wq = uobject->object;
16 container_of(uobject, struct ib_uwq_object, uevent.uobject);
32 typeof(*obj), uevent.uobject);
68 obj->uevent.uobject.user_handle = user_handle;
80 obj->uevent.uobject.object = wq;
89 wq->uobject = obj;
165 container_of(uobj, struct ib_uwq_object, uevent.uobject);
H A Duverbs_std_types_qp.c11 static int uverbs_free_qp(struct ib_uobject *uobject, argument
15 struct ib_qp *qp = uobject->object;
17 container_of(uobject, struct ib_uqp_object, uevent.uobject);
87 typeof(*obj), uevent.uobject);
232 obj->uevent.uobject.user_handle = user_handle;
261 uobject);
265 obj->uevent.uobject.object = qp;
351 container_of(uobj, struct ib_uqp_object, uevent.uobject);
H A Duverbs_std_types_counters.c38 static int uverbs_free_counters(struct ib_uobject *uobject, argument
42 struct ib_counters *counters = uobject->object;
77 counters->uobject = uobj;
H A Duverbs_cmd.c443 pd->uobject = uobj;
623 obj->uobject.object = xrcd;
639 uobj_finalize_uobj_create(&obj->uobject, attrs);
641 resp.xrcd_handle = obj->uobject.id;
648 uobj_alloc_abort(&obj->uobject, attrs);
671 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd, argument
739 mr->uobject = uobj;
822 * to have a uobject ready to hold it.
841 new_mr->uobject = uobj;
940 mw->uobject
[all...]
H A Duverbs_std_types_mr.c39 static int uverbs_free_mr(struct ib_uobject *uobject, argument
43 return ib_dereg_mr_user((struct ib_mr *)uobject->object,
135 mr->uobject = uobj;
249 mr->uobject = uobj;
H A Duverbs.h152 * object of an associated uobject.
182 struct ib_uobject uobject; member in struct:ib_uevent_object
190 struct ib_uobject uobject; member in struct:ib_uxrcd_object
241 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd,
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) argument
57 kref_put(&uobject->ref, uverbs_uobject_free);
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
339 struct ib_uobject *uobject; local
[all...]
H A Duverbs_main.c390 uobj = cq->uobject;
392 entry->desc.comp.cq_handle = cq->uobject->uevent.uobject.user_handle;
443 eobj->uobject.user_handle, event->event,
449 uverbs_uobj_event(&event->element.cq->uobject->uevent, event);
455 if (!event->element.qp->uobject)
458 uverbs_uobj_event(&event->element.qp->uobject->uevent, event);
463 uverbs_uobj_event(&event->element.wq->uobject->uevent, event);
468 uverbs_uobj_event(&event->element.srq->uobject->uevent, event);
615 bundle.context = NULL; /* only valid if bundle has uobject */
[all...]
H A Duverbs_ioctl.c329 o_attr->uobject = uverbs_get_uobject_from_file(
332 if (IS_ERR(o_attr->uobject))
333 return PTR_ERR(o_attr->uobject);
338 s64 id = o_attr->uobject->id;
473 ret = uobj_destroy(destroy_attr->uobject, bundle);
479 uobj_put_destroy(destroy_attr->uobject);
523 attr->obj_attr.uobject,
601 pbundle->bundle.context = NULL; /* only valid if bundle has uobject */
H A Duverbs_std_types_device.c43 attrs->uobject = NULL;
45 if (attrs->uobject)
46 uverbs_finalize_object(attrs->uobject, UVERBS_ACCESS_NEW, true,
H A Dverbs.c309 mr->uobject = NULL;
1002 * @uobject: uobject pointer if this is not a kernel SRQ
1012 struct ib_usrq_object *uobject,
1027 srq->uobject = uobject;
1218 qp->uobject = uobj;
1297 xrc_qp->uobject = uobj;
2093 if (!qp->uobject)
2136 cq->uobject
1010 ib_create_srq_user(struct ib_pd *pd, struct ib_srq_init_attr *srq_init_attr, struct ib_usrq_object *uobject, struct ib_udata *udata) argument
[all...]
/linux-master/include/rdma/
H A Duverbs_std_types.h73 uobj_put_read((_obj)->uobject)
96 WARN_ON(attrs->uobject);
97 attrs->uobject = uobj;
122 action->uobject = uobj;
136 struct ib_uobject uobject; member in struct:ib_uflow_object
153 ibflow->uobject = uobj;
161 uflow = container_of(uobj, typeof(*uflow), uobject);
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) argument
133 kref_get(&uobject->ref);
135 void uverbs_uobject_put(struct ib_uobject *uobject);
[all...]
H A Duverbs_ioctl.h504 * Only for use with UVERBS_ATTR_IDR, allows any uobject type to be accepted,
505 * the user must validate the type of the uobject instead.
614 struct ib_uobject *uobject; member in struct:uverbs_obj_attr
637 struct ib_uobject *uobject;
701 return attr->obj_attr.uobject->object;
712 return attr->obj_attr.uobject;
H A Dib_verbs.h1494 * Userspace requested uobject deletion or initial try
1495 * to remove uobject via cleanup. Call could fail
1504 /* The driver failed to destroy the uobject and is being disconnected */
1554 struct ib_uobject *uobject; member in struct:ib_pd
1577 struct ib_uobject *uobject; member in struct:ib_ah
1595 struct ib_ucq_object *uobject; member in struct:ib_cq
1627 struct ib_usrq_object *uobject; member in struct:ib_srq
1681 struct ib_uwq_object *uobject; member in struct:ib_wq
1725 struct ib_uobject *uobject; member in struct:ib_rwq_ind_table
1798 struct ib_uqp_object *uobject; member in struct:ib_qp
1826 struct ib_uobject *uobject; member in struct:ib_dm
1841 struct ib_uobject *uobject; /* user */ member in union:ib_mr::__anon180
1856 struct ib_uobject *uobject; member in struct:ib_mw
2096 struct ib_uobject *uobject; member in struct:ib_flow
2152 struct ib_uobject *uobject; member in struct:ib_flow_action
2263 struct ib_uobject *uobject; member in struct:ib_counters
[all...]
/linux-master/drivers/infiniband/hw/mlx5/
H A Dqos.c85 static int pp_obj_cleanup(struct ib_uobject *uobject, argument
89 struct mlx5_ib_pp *pp_entry = uobject->object;
/linux-master/drivers/infiniband/hw/mlx4/
H A Dcq.c404 if (ibcq->uobject) {
428 if (ibcq->uobject) {
462 if (!ibcq->uobject)
/linux-master/drivers/infiniband/hw/cxgb4/
H A Drestrack.c382 if (ibcq->uobject)
/linux-master/drivers/infiniband/hw/mthca/
H A Dmthca_qp.c626 if (qp->ibqp.uobject)
669 u8 sched_queue = ibqp->uobject ? 0x2 : 0x1;
834 if (new_state == IB_QPS_RESET && !qp->ibqp.uobject) {
962 return pd->ibpd.uobject ? max_data_size - MTHCA_INLINE_HEADER_SIZE : 0;
1479 if (!qp->ibqp.uobject) {
H A Dmthca_srq.c361 if (!srq->ibsrq.uobject) {

Completed in 867 milliseconds

12