/freebsd/sys/ofed/drivers/infiniband/core/ |
H A D | ib_uverbs_std_types.c | 40 static int uverbs_free_ah(struct ib_uobject *uobject, in uverbs_free_ah() argument 44 return ib_destroy_ah_user((struct ib_ah *)uobject->object, in uverbs_free_ah() 49 static int uverbs_free_flow(struct ib_uobject *uobject, in uverbs_free_flow() argument 53 struct ib_flow *flow = (struct ib_flow *)uobject->object; in uverbs_free_flow() 55 container_of(uobject, struct ib_uflow_object, uobject); in uverbs_free_flow() 69 static int uverbs_free_mw(struct ib_uobject *uobject, in uverbs_free_mw() argument 73 return uverbs_dealloc_mw((struct ib_mw *)uobject->object); in uverbs_free_mw() 76 static int uverbs_free_qp(struct ib_uobject *uobject, in uverbs_free_qp() argument 80 struct ib_qp *qp = uobject->object; in uverbs_free_qp() 82 container_of(uobject, struct ib_uqp_object, uevent.uobject); in uverbs_free_qp() [all …]
|
H A D | ib_uverbs_std_types_cq.c | 37 static int uverbs_free_cq(struct ib_uobject *uobject, in uverbs_free_cq() argument 41 struct ib_cq *cq = uobject->object; in uverbs_free_cq() 44 container_of(uobject, struct ib_ucq_object, uevent.uobject); in uverbs_free_cq() 48 if (ib_is_destroy_retryable(ret, why, uobject)) in uverbs_free_cq() 65 typeof(*obj), uevent.uobject); in UVERBS_HANDLER() 118 cq->uobject = obj; in UVERBS_HANDLER() 128 obj->uevent.uobject.object = cq; in UVERBS_HANDLER() 129 obj->uevent.uobject.user_handle = user_handle; in UVERBS_HANDLER() 180 container_of(uobj, struct ib_ucq_object, uevent.uobject); in UVERBS_HANDLER()
|
H A D | ib_uverbs_cmd.c | 441 pd->uobject = uobj; in ib_uverbs_alloc_pd() 627 obj->uobject.object = xrcd; in ib_uverbs_open_xrcd() 629 resp.xrcd_handle = obj->uobject.id; in ib_uverbs_open_xrcd() 650 rdma_alloc_commit_uobject(&obj->uobject, attrs); in ib_uverbs_open_xrcd() 664 uobj_alloc_abort(&obj->uobject, attrs); in ib_uverbs_open_xrcd() 687 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd, in ib_uverbs_dealloc_xrcd() argument 701 if (ib_is_destroy_retryable(ret, why, uobject)) { in ib_uverbs_dealloc_xrcd() 765 mr->uobject = uobj; in ib_uverbs_reg_mr() 922 mw->uobject = uobj; in ib_uverbs_alloc_mw() 1020 obj->uevent.uobject.user_handle = cmd->user_handle; in create_cq() [all …]
|
H A D | ib_uverbs_std_types_dm.c | 37 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_HANDLER() 81 dm->uobject = uobj; in UVERBS_HANDLER()
|
H A D | ib_uverbs_std_types_counters.c | 40 static int uverbs_free_counters(struct ib_uobject *uobject, in uverbs_free_counters() argument 44 struct ib_counters *counters = uobject->object; in uverbs_free_counters() 47 ret = ib_destroy_usecnt(&counters->usecnt, why, uobject); in uverbs_free_counters() 78 counters->uobject = uobj; in UVERBS_HANDLER()
|
H A D | ib_uverbs_std_types_mr.c | 37 static int uverbs_free_mr(struct ib_uobject *uobject, in uverbs_free_mr() argument 41 return ib_dereg_mr_user((struct ib_mr *)uobject->object, in uverbs_free_mr() 133 mr->uobject = uobj; in UVERBS_HANDLER()
|
H A D | uverbs.h | 185 struct ib_uobject uobject; member 192 struct ib_uobject uobject; member 239 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd,
|
H A D | ib_uverbs_main.c | 151 READ_ONCE(uobj->uobject.ufile->async_file); in ib_uverbs_release_uevent() 375 uobj = cq->uobject; in ib_uverbs_comp_handler() 377 entry->desc.comp.cq_handle = cq->uobject->uevent.uobject.user_handle; in ib_uverbs_comp_handler() 428 ib_uverbs_async_handler(READ_ONCE(eobj->uobject.ufile->async_file), in uverbs_uobj_event() 429 eobj->uobject.user_handle, event->event, in uverbs_uobj_event() 435 uverbs_uobj_event(&event->element.cq->uobject->uevent, event); in ib_uverbs_cq_event_handler() 441 if (!event->element.qp->uobject) in ib_uverbs_qp_event_handler() 444 uverbs_uobj_event(&event->element.qp->uobject->uevent, event); in ib_uverbs_qp_event_handler() 449 uverbs_uobj_event(&event->element.wq->uobject->uevent, event); in ib_uverbs_wq_event_handler() 454 uverbs_uobj_event(&event->element.srq->uobject->uevent, event); in ib_uverbs_srq_event_handler()
|
H A D | ib_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) 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. 339 struct ib_uobject *uobject; in lookup_get_fd_uobject() 341 struct ib_uobject *uobject; lookup_get_fd_uobject() local [all...] |
H A D | ib_uverbs_ioctl.c | 323 o_attr->uobject = uverbs_get_uobject_from_file( in uverbs_process_attr() 326 if (IS_ERR(o_attr->uobject)) in uverbs_process_attr() 327 return PTR_ERR(o_attr->uobject); in uverbs_process_attr() 332 s64 id = o_attr->uobject->id; in uverbs_process_attr() 438 ret = uobj_destroy(destroy_attr->uobject, &pbundle->bundle); in ib_uverbs_run_method() 444 uobj_put_destroy(destroy_attr->uobject); in ib_uverbs_run_method() 486 attr->obj_attr.uobject, in bundle_destroy()
|
H A D | ib_uverbs_std_types_flow_action.c | 37 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() 44 ret = ib_destroy_usecnt(&action->usecnt, why, uobject); in uverbs_free_flow_action()
|
H A D | core_priv.h | 165 qp->uobject = uobj; in _ib_create_qp()
|
H A D | ib_verbs.c | 276 pd->uobject = NULL; in __ib_alloc_pd() 309 mr->uobject = NULL; in __ib_alloc_pd() 893 qp->uobject = NULL; in ib_create_qp() 1541 cq->uobject = NULL; in __ib_create_cq() 1637 mr->uobject = NULL; in ib_alloc_mr_user() 1843 wq->uobject = NULL; in ib_create_wq() 1923 rwq_ind_table->uobject = NULL; in ib_create_rwq_ind_table()
|
/freebsd/sys/ofed/include/rdma/ |
H A D | uverbs_std_types.h | 102 uobj_put_read((_obj)->uobject) 137 action->uobject = uobj; in uverbs_flow_action_fill_action() 151 struct ib_uobject uobject; member 168 ibflow->uobject = uobj; in ib_set_flow() 176 uflow = container_of(uobj, typeof(*uflow), uobject); in ib_set_flow()
|
H A D | uverbs_types.h | 157 static inline void uverbs_uobject_get(struct ib_uobject *uobject) in uverbs_uobject_get() argument 159 kref_get(&uobject->ref); in uverbs_uobject_get() 161 void uverbs_uobject_put(struct ib_uobject *uobject);
|
H A D | ib_verbs.h | 1432 struct ib_uobject *uobject; member 1455 struct ib_uobject *uobject; member 1468 struct ib_ucq_object *uobject; member 1481 struct ib_usrq_object *uobject; member 1522 struct ib_uwq_object *uobject; member 1565 struct ib_uobject *uobject; member 1596 struct ib_uqp_object *uobject; member 1611 struct ib_uobject *uobject; member 1626 struct ib_uobject *uobject; /* user */ member 1637 struct ib_uobject *uobject; member [all …]
|
H A D | uverbs_ioctl.h | 634 struct ib_uobject *uobject; member 715 return attr->obj_attr.uobject->object; in uverbs_attr_get_obj() 726 return attr->obj_attr.uobject; in uverbs_attr_get_uobject()
|
/freebsd/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_qp.c | 729 err = set_rq_size(dev, &init_attr->cap, !!pd->uobject, qp_has_rq(init_attr), qp); in create_qp_common() 733 if (pd->uobject) { in create_qp_common() 747 qp->umem = ib_umem_get(pd->uobject->context, ucmd.buf_addr, in create_qp_common() 764 err = mlx4_ib_db_map_user(to_mucontext(pd->uobject->context), in create_qp_common() 917 if (pd->uobject) { in create_qp_common() 919 mlx4_ib_db_unmap_user(to_mucontext(pd->uobject->context), &qp->db); in create_qp_common() 929 if (pd->uobject) in create_qp_common() 935 if (!pd->uobject && qp_has_rq(init_attr)) in create_qp_common() 1852 if (!qp->ibqp.uobject) in __mlx4_ib_modify_qp() 1988 if (!ibqp->uobject && cur_state == IB_QPS_RESET && new_state == IB_QPS_INIT) in __mlx4_ib_modify_qp() [all …]
|
H A D | mlx4_ib_mr.c | 153 mr->umem = ib_umem_get(pd->uobject->context, start, length, in mlx4_ib_reg_user_mr() 234 mmr->umem = ib_umem_get(mr->uobject->context, start, length, in mlx4_ib_rereg_user_mr()
|
H A D | mlx4_ib_cq.c | 393 if (ibcq->uobject) { in mlx4_ib_resize_cq() 417 if (ibcq->uobject) { in mlx4_ib_resize_cq() 451 if (!ibcq->uobject) in mlx4_ib_resize_cq()
|
/freebsd/sys/dev/mlx5/mlx5_ib/ |
H A D | mlx5_ib_qp.c | 658 *umem = ib_umem_get(pd->uobject->context, addr, size, 0, 0); in mlx5_ib_umem_get() 712 context = to_mucontext(pd->uobject->context); in create_user_rq() 713 rwq->umem = ib_umem_get(pd->uobject->context, ucmd->buf_addr, in create_user_rq() 788 context = to_mucontext(pd->uobject->context); in create_user_qp() 1278 struct ib_uobject *uobj = pd->uobject; in create_raw_packet_qp() 1367 struct ib_uobject *uobj = pd->uobject; in create_rss_raw_qp_tir() 1671 if (pd && pd->uobject) { in create_qp_common() 1677 err = get_qp_user_index(to_mucontext(pd->uobject->context), in create_qp_common() 1690 qp, (pd && pd->uobject) ? &ucmd : NULL); in create_qp_common() 1697 if (pd->uobject) { in create_qp_common() [all …]
|
H A D | mlx5_ib_devx.c | 1333 static int devx_obj_cleanup(struct ib_uobject *uobject, in devx_obj_cleanup() argument 1339 struct devx_obj *obj = uobject->object; in devx_obj_cleanup() 1352 if (ib_is_destroy_retryable(ret, why, uobject)) in devx_obj_cleanup() 2214 static int devx_umem_cleanup(struct ib_uobject *uobject, in devx_umem_cleanup() argument 2218 struct devx_umem *obj = uobject->object; in devx_umem_cleanup() 2223 if (ib_is_destroy_retryable(err, why, uobject)) in devx_umem_cleanup()
|
/freebsd/sys/dev/mthca/ |
H A D | mthca_provider.c | 863 if (!to_mucontext(pd->uobject->context)->reg_mr_warned) { in mthca_reg_user_mr() 868 ++to_mucontext(pd->uobject->context)->reg_mr_warned; in mthca_reg_user_mr() 877 mr->umem = ib_umem_get(pd->uobject->context, start, length, acc, in mthca_reg_user_mr()
|
H A D | mthca_qp.c | 614 if (qp->ibqp.uobject) in __mthca_modify_qp() 657 u8 sched_queue = ibqp->uobject ? 0x2 : 0x1; in __mthca_modify_qp() 822 if (new_state == IB_QPS_RESET && !qp->ibqp.uobject) { in __mthca_modify_qp() 946 return pd->ibpd.uobject ? max_data_size - MTHCA_INLINE_HEADER_SIZE : 0; in mthca_max_inline_data() 1461 if (!qp->ibqp.uobject) { in mthca_free_qp()
|
/freebsd/sys/dev/bnxt/bnxt_re/ |
H A D | ib_verbs.c | 1013 is_user = ib_pd->uobject ? true : false; in bnxt_re_create_ah() 1046 if (ib_pd->uobject) { in bnxt_re_create_ah() 1047 struct ib_ucontext *ib_uctx = ib_pd->uobject->context; in bnxt_re_create_ah() 1168 context = pd->ibpd.uobject->context; in bnxt_re_init_user_srq() 1236 context = pd->ibpd.uobject->context; in bnxt_re_create_srq() 1538 if (!ib_qp->uobject) { in bnxt_re_destroy_qp() 1653 context = pd->ibpd.uobject->context; in bnxt_re_init_user_qp() 2098 context = pd->ibpd.uobject->context; in bnxt_re_init_qp_attr() 4003 if (ib_cq->uobject) { in bnxt_re_resize_cq() 4034 if (ib_cq->uobject && udata) { in bnxt_re_resize_cq() [all …]
|