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

12

/linux-master/drivers/infiniband/hw/mthca/
H A Dmthca_srq.c361 if (!srq->ibsrq.uobject) {
/linux-master/drivers/infiniband/core/
H A Dnldev.c635 cq->uobject->uevent.uobject.context->res.id))
722 pd->uobject->context->res.id))
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.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 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_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_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_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_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_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_device.c43 attrs->uobject = NULL;
45 if (attrs->uobject)
46 uverbs_finalize_object(attrs->uobject, UVERBS_ACCESS_NEW, true,
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_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_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_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_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_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 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/drivers/infiniband/hw/bnxt_re/
H A Dib_verbs.c3101 if (!ibcq->uobject) {
4421 static int alloc_page_obj_cleanup(struct ib_uobject *uobject, argument
4425 struct bnxt_re_user_mmap_entry *entry = uobject->object;
4557 static int get_toggle_mem_obj_cleanup(struct ib_uobject *uobject, argument
4561 struct bnxt_re_user_mmap_entry *entry = uobject->object;
/linux-master/drivers/infiniband/hw/cxgb4/
H A Dcm.c1910 if (ep->com.qp->ibqp.uobject)
H A Dqp.c1668 if (qhp->ibqp.uobject) {
1796 if (!qhp->ibqp.uobject)
1983 if (!internal && (qhp->ibqp.uobject || attrs->next_state !=
H A Drestrack.c382 if (ibcq->uobject)
/linux-master/drivers/infiniband/hw/hns/
H A Dhns_roce_hw_v2.c2575 free_mr->rsv_pd->ibpd.uobject = NULL;
2607 free_mr->rsv_cq->ib_cq.uobject = NULL;
5251 if (new_state == IB_QPS_RESET && !ibqp->uobject)
H A Dhns_roce_qp.c1401 if (ibqp->uobject &&
/linux-master/drivers/infiniband/hw/mlx4/
H A Dcq.c404 if (ibcq->uobject) {
428 if (ibcq->uobject) {
462 if (!ibcq->uobject)

Completed in 535 milliseconds

12