Home
last modified time | relevance | path

Searched refs:uobject (Results 1 – 25 of 62) sorted by relevance

123

/Linux-v4.19/drivers/infiniband/core/
Duverbs_std_types.c42 static int uverbs_free_ah(struct ib_uobject *uobject, in uverbs_free_ah() argument
45 return rdma_destroy_ah((struct ib_ah *)uobject->object); in uverbs_free_ah()
48 static int uverbs_free_flow(struct ib_uobject *uobject, in uverbs_free_flow() argument
51 struct ib_flow *flow = (struct ib_flow *)uobject->object; in uverbs_free_flow()
53 container_of(uobject, struct ib_uflow_object, uobject); in uverbs_free_flow()
67 static int uverbs_free_mw(struct ib_uobject *uobject, in uverbs_free_mw() argument
70 return uverbs_dealloc_mw((struct ib_mw *)uobject->object); in uverbs_free_mw()
73 static int uverbs_free_qp(struct ib_uobject *uobject, in uverbs_free_qp() argument
76 struct ib_qp *qp = uobject->object; in uverbs_free_qp()
78 container_of(uobject, struct ib_uqp_object, uevent.uobject); in uverbs_free_qp()
[all …]
Duverbs_std_types_cq.c37 static int uverbs_free_cq(struct ib_uobject *uobject, in uverbs_free_cq() argument
40 struct ib_cq *cq = uobject->object; in uverbs_free_cq()
43 container_of(uobject, struct ib_ucq_object, uobject); in uverbs_free_cq()
47 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_cq()
51 uobject->context->ufile, in uverbs_free_cq()
65 typeof(*obj), uobject); in UVERBS_HANDLER()
66 struct ib_device *ib_dev = obj->uobject.context->device; in UVERBS_HANDLER()
117 cq = ib_dev->create_cq(ib_dev, &attr, obj->uobject.context, &uhw); in UVERBS_HANDLER()
124 cq->uobject = &obj->uobject; in UVERBS_HANDLER()
128 obj->uobject.object = cq; in UVERBS_HANDLER()
[all …]
Duverbs_std_types_dm.c36 static int uverbs_free_dm(struct ib_uobject *uobject, in uverbs_free_dm() argument
39 struct ib_dm *dm = uobject->object; in uverbs_free_dm()
42 ret = ib_destroy_usecnt(&dm->usecnt, why, uobject); in uverbs_free_dm()
56 ->obj_attr.uobject; in UVERBS_HANDLER()
80 dm->uobject = uobj; in UVERBS_HANDLER()
Duverbs_std_types_counters.c37 static int uverbs_free_counters(struct ib_uobject *uobject, in uverbs_free_counters() argument
40 struct ib_counters *counters = uobject->object; in uverbs_free_counters()
43 ret = ib_destroy_usecnt(&counters->usecnt, why, uobject); in uverbs_free_counters()
74 counters->uobject = uobj; in UVERBS_HANDLER()
Duverbs_cmd.c381 pd->uobject = uobj; in ib_uverbs_alloc_pd()
562 xrcd = ib_dev->alloc_xrcd(ib_dev, obj->uobject.context, &udata); in ib_uverbs_open_xrcd()
577 obj->uobject.object = xrcd; in ib_uverbs_open_xrcd()
579 resp.xrcd_handle = obj->uobject.id; in ib_uverbs_open_xrcd()
601 return uobj_alloc_commit(&obj->uobject, in_len); in ib_uverbs_open_xrcd()
614 uobj_alloc_abort(&obj->uobject); in ib_uverbs_open_xrcd()
638 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, in ib_uverbs_dealloc_xrcd() argument
644 struct ib_uverbs_device *dev = uobject->context->ufile->device; in ib_uverbs_dealloc_xrcd()
652 if (ib_is_destroy_retryable(ret, why, uobject)) { in ib_uverbs_dealloc_xrcd()
723 mr->uobject = uobj; in ib_uverbs_reg_mr()
[all …]
Drestrack.c144 return container_of(res, struct ib_pd, res)->uobject; in res_is_user()
146 return container_of(res, struct ib_cq, res)->uobject; in res_is_user()
148 return container_of(res, struct ib_qp, res)->uobject; in res_is_user()
152 return container_of(res, struct ib_mr, res)->pd->uobject; in res_is_user()
Duverbs_std_types_mr.c36 static int uverbs_free_mr(struct ib_uobject *uobject, in uverbs_free_mr() argument
39 return ib_dereg_mr((struct ib_mr *)uobject->object); in uverbs_free_mr()
93 mr->uobject = uobj; in UVERBS_HANDLER()
Duverbs_main.c491 uobj = container_of(cq->uobject, struct ib_ucq_object, uobject); in ib_uverbs_comp_handler()
493 entry->desc.comp.cq_handle = cq->uobject->user_handle; in ib_uverbs_comp_handler()
540 struct ib_ucq_object *uobj = container_of(event->element.cq->uobject, in ib_uverbs_cq_event_handler()
541 struct ib_ucq_object, uobject); in ib_uverbs_cq_event_handler()
543 ib_uverbs_async_handler(uobj->uobject.ufile, uobj->uobject.user_handle, in ib_uverbs_cq_event_handler()
553 if (!event->element.qp->uobject) in ib_uverbs_qp_event_handler()
556 uobj = container_of(event->element.qp->uobject, in ib_uverbs_qp_event_handler()
557 struct ib_uevent_object, uobject); in ib_uverbs_qp_event_handler()
559 ib_uverbs_async_handler(context_ptr, uobj->uobject.user_handle, in ib_uverbs_qp_event_handler()
566 struct ib_uevent_object *uobj = container_of(event->element.wq->uobject, in ib_uverbs_wq_event_handler()
[all …]
Duverbs.h186 struct ib_uobject uobject; member
192 struct ib_uobject uobject; member
214 struct ib_uobject uobject; member
223 struct ib_uobject uobject; member
248 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd,
Drdma_core.h59 void uverbs_uobject_get(struct ib_uobject *uobject);
66 void uverbs_uobject_put(struct ib_uobject *uobject);
Duverbs_ioctl.c230 o_attr->uobject = uverbs_get_uobject_from_file( in uverbs_process_attr()
235 if (IS_ERR(o_attr->uobject)) in uverbs_process_attr()
236 return PTR_ERR(o_attr->uobject); in uverbs_process_attr()
241 s64 id = o_attr->uobject->id; in uverbs_process_attr()
358 ret = uobj_destroy(destroy_attr->uobject); in ib_uverbs_run_method()
364 uobj_put_destroy(destroy_attr->uobject); in ib_uverbs_run_method()
394 attr->obj_attr.uobject, in bundle_destroy()
Drdma_core.c45 void uverbs_uobject_get(struct ib_uobject *uobject) in uverbs_uobject_get() argument
47 kref_get(&uobject->ref); in uverbs_uobject_get()
61 void uverbs_uobject_put(struct ib_uobject *uobject) in uverbs_uobject_put() argument
63 kref_put(&uobject->ref, uverbs_uobject_free); in uverbs_uobject_put()
360 struct ib_uobject *uobject; in lookup_get_fd_uobject() local
378 uobject = f->private_data; in lookup_get_fd_uobject()
389 uverbs_uobject_get(uobject); in lookup_get_fd_uobject()
390 return uobject; in lookup_get_fd_uobject()
Duverbs_std_types_flow_action.c36 static int uverbs_free_flow_action(struct ib_uobject *uobject, in uverbs_free_flow_action() argument
39 struct ib_flow_action *action = uobject->object; in uverbs_free_flow_action()
42 ret = ib_destroy_usecnt(&action->usecnt, why, uobject); in uverbs_free_flow_action()
332 action->uobject = uobj; in UVERBS_HANDLER()
/Linux-v4.19/drivers/infiniband/hw/mlx4/
Dsrq.c108 if (pd->uobject) { in mlx4_ib_create_srq()
116 srq->umem = ib_umem_get(pd->uobject->context, ucmd.buf_addr, in mlx4_ib_create_srq()
132 err = mlx4_ib_db_map_user(to_mucontext(pd->uobject->context), in mlx4_ib_create_srq()
194 if (pd->uobject) in mlx4_ib_create_srq()
205 if (pd->uobject) in mlx4_ib_create_srq()
206 mlx4_ib_db_unmap_user(to_mucontext(pd->uobject->context), &srq->db); in mlx4_ib_create_srq()
214 if (pd->uobject) in mlx4_ib_create_srq()
220 if (!pd->uobject) in mlx4_ib_create_srq()
281 if (srq->uobject) { in mlx4_ib_destroy_srq()
282 mlx4_ib_db_unmap_user(to_mucontext(srq->uobject->context), &msrq->db); in mlx4_ib_destroy_srq()
Dcq.c406 if (ibcq->uobject) { in mlx4_ib_resize_cq()
430 if (ibcq->uobject) { in mlx4_ib_resize_cq()
464 if (!ibcq->uobject) in mlx4_ib_resize_cq()
490 if (cq->uobject) { in mlx4_ib_destroy_cq()
491 mlx4_ib_db_unmap_user(to_mucontext(cq->uobject->context), &mcq->db); in mlx4_ib_destroy_cq()
/Linux-v4.19/drivers/infiniband/hw/mlx5/
Dsrq.c105 err = get_srq_user_index(to_mucontext(pd->uobject->context), in create_srq_user()
113 srq->umem = ib_umem_get(pd->uobject->context, ucmd.buf_addr, buf_size, in create_srq_user()
138 err = mlx5_ib_db_map_user(to_mucontext(pd->uobject->context), in create_srq_user()
226 mlx5_ib_db_unmap_user(to_mucontext(pd->uobject->context), &srq->db); in destroy_srq_user()
289 if (pd->uobject) in mlx5_ib_create_srq()
296 pd->uobject ? "user" : "kernel", err); in mlx5_ib_create_srq()
341 if (pd->uobject) in mlx5_ib_create_srq()
356 if (pd->uobject) in mlx5_ib_create_srq()
424 if (srq->uobject) { in mlx5_ib_destroy_srq()
425 mlx5_ib_db_unmap_user(to_mucontext(srq->uobject->context), &msrq->db); in mlx5_ib_destroy_srq()
Dflow.c116 static int flow_matcher_cleanup(struct ib_uobject *uobject, in flow_matcher_cleanup() argument
119 struct mlx5_ib_flow_matcher *obj = uobject->object; in flow_matcher_cleanup()
122 ret = ib_destroy_usecnt(&obj->usecnt, why, uobject); in flow_matcher_cleanup()
Ddevx.c700 static int devx_obj_cleanup(struct ib_uobject *uobject, in devx_obj_cleanup() argument
704 struct devx_obj *obj = uobject->object; in devx_obj_cleanup()
708 if (ib_is_destroy_retryable(ret, why, uobject)) in devx_obj_cleanup()
971 static int devx_umem_cleanup(struct ib_uobject *uobject, in devx_umem_cleanup() argument
974 struct devx_umem *obj = uobject->object; in devx_umem_cleanup()
979 if (ib_is_destroy_retryable(err, why, uobject)) in devx_umem_cleanup()
/Linux-v4.19/drivers/infiniband/hw/mthca/
Dmthca_provider.c458 if (pd->uobject) { in mthca_create_srq()
459 context = to_mucontext(pd->uobject->context); in mthca_create_srq()
480 if (err && pd->uobject) in mthca_create_srq()
505 if (srq->uobject) { in mthca_destroy_srq()
506 context = to_mucontext(srq->uobject->context); in mthca_destroy_srq()
540 if (pd->uobject) { in mthca_create_qp()
541 context = to_mucontext(pd->uobject->context); in mthca_create_qp()
579 if (err && pd->uobject) { in mthca_create_qp()
580 context = to_mucontext(pd->uobject->context); in mthca_create_qp()
599 if (pd->uobject) in mthca_create_qp()
[all …]
Dmthca_srq.c106 if (pd->ibpd.uobject) in mthca_tavor_init_srq_context()
108 cpu_to_be32(to_mucontext(pd->ibpd.uobject->context)->uar.index); in mthca_tavor_init_srq_context()
132 if (pd->ibpd.uobject) in mthca_arbel_init_srq_context()
134 cpu_to_be32(to_mucontext(pd->ibpd.uobject->context)->uar.index); in mthca_arbel_init_srq_context()
155 if (pd->ibpd.uobject) in mthca_alloc_srq_buf()
238 if (!pd->ibpd.uobject) { in mthca_alloc_srq()
300 if (!pd->ibpd.uobject) in mthca_alloc_srq()
307 if (!pd->ibpd.uobject && mthca_is_memfree(dev)) in mthca_alloc_srq()
353 if (!srq->ibsrq.uobject) { in mthca_free_srq()
/Linux-v4.19/drivers/infiniband/hw/hns/
Dhns_roce_qp.c540 ret = hns_roce_set_rq_size(hr_dev, &init_attr->cap, !!ib_pd->uobject, in hns_roce_create_qp_common()
577 if (ib_pd->uobject) { in hns_roce_create_qp_common()
591 hr_qp->umem = ib_umem_get(ib_pd->uobject->context, in hns_roce_create_qp_common()
632 to_hr_ucontext(ib_pd->uobject->context), in hns_roce_create_qp_common()
648 to_hr_ucontext(ib_pd->uobject->context), in hns_roce_create_qp_common()
762 if (ib_pd->uobject && (udata->outlen >= sizeof(resp)) && in hns_roce_create_qp_common()
789 if (ib_pd->uobject) { in hns_roce_create_qp_common()
794 to_hr_ucontext(ib_pd->uobject->context), in hns_roce_create_qp_common()
802 if (ib_pd->uobject) in hns_roce_create_qp_common()
808 to_hr_ucontext(ib_pd->uobject->context), in hns_roce_create_qp_common()
[all …]
/Linux-v4.19/include/rdma/
Dib_verbs.h1541 struct ib_uobject *uobject; member
1565 struct ib_uobject *uobject; member
1580 struct ib_uobject *uobject; member
1601 struct ib_uobject *uobject; member
1646 struct ib_uobject *uobject; member
1689 struct ib_uobject *uobject; member
1762 struct ib_uobject *uobject; member
1786 struct ib_uobject *uobject; member
1800 struct ib_uobject *uobject; /* user */ member
1815 struct ib_uobject *uobject; member
[all …]
Duverbs_ioctl.h430 struct ib_uobject *uobject; member
485 return attr->obj_attr.uobject->object; in uverbs_attr_get_obj()
496 return attr->obj_attr.uobject; in uverbs_attr_get_uobject()
Duverbs_std_types.h107 uobj_put_read((_obj)->uobject)
/Linux-v4.19/drivers/infiniband/hw/vmw_pvrdma/
Dpvrdma_srq.c114 if (!(pd->uobject && udata)) { in pvrdma_create_srq()
156 srq->umem = ib_umem_get(pd->uobject->context, in pvrdma_create_srq()

123