/linux-master/drivers/infiniband/core/ |
H A D | uverbs_std_types_flow_action.c | 37 static int uverbs_free_flow_action(struct ib_uobject *uobject, argument 41 struct ib_flow_action *action = uobject->object;
|
H A D | uverbs_std_types.c | 42 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 D | uverbs_std_types_dm.c | 37 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 D | uverbs_std_types_srq.c | 10 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 D | uverbs_std_types_cq.c | 38 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 D | uverbs_std_types_wq.c | 10 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 D | uverbs_std_types_qp.c | 11 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 D | uverbs_std_types_counters.c | 38 static int uverbs_free_counters(struct ib_uobject *uobject, argument 42 struct ib_counters *counters = uobject->object; 77 counters->uobject = uobj;
|
H A D | uverbs_cmd.c | 443 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 D | uverbs_std_types_mr.c | 39 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 D | uverbs.h | 152 * 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 D | rdma_core.c | 51 * 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 D | uverbs_main.c | 390 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 D | uverbs_ioctl.c | 329 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 D | uverbs_std_types_device.c | 43 attrs->uobject = NULL; 45 if (attrs->uobject) 46 uverbs_finalize_object(attrs->uobject, UVERBS_ACCESS_NEW, true,
|
H A D | verbs.c | 309 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 D | uverbs_std_types.h | 73 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 D | uverbs_types.h | 19 * 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 D | uverbs_ioctl.h | 504 * 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 D | ib_verbs.h | 1494 * 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 D | qos.c | 85 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 D | cq.c | 404 if (ibcq->uobject) { 428 if (ibcq->uobject) { 462 if (!ibcq->uobject)
|
/linux-master/drivers/infiniband/hw/cxgb4/ |
H A D | restrack.c | 382 if (ibcq->uobject)
|
/linux-master/drivers/infiniband/hw/mthca/ |
H A D | mthca_qp.c | 626 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 D | mthca_srq.c | 361 if (!srq->ibsrq.uobject) {
|