Lines Matching refs:upd

1121 		uverbs_upd_uobj_t *upd = (uverbs_upd_uobj_t *)entry->data;
1123 rw_enter(&(upd->uobj.uo_lock), RW_WRITER);
1124 if (upd->active_qp_cnt) {
1127 upd->list_entry = new_entry;
1128 upd->free_pending = 1;
1129 rw_exit(&(upd->uobj.uo_lock));
1131 upd->list_entry = NULL;
1132 sol_ofs_uobj_ref(&upd->uobj);
1134 rc = uverbs_upd_free(upd, uctxt);
1138 "upd_free(%p) failed", upd);
1455 uverbs_upd_uobj_t *upd;
1463 upd = kmem_zalloc(sizeof (*upd), KM_NOSLEEP);
1464 if (upd == NULL) {
1468 sol_ofs_uobj_init(&upd->uobj, 0, SOL_UVERBS_UPD_UOBJ_TYPE);
1469 rw_enter(&upd->uobj.uo_lock, RW_WRITER);
1471 rc = ibt_alloc_pd(uctxt->hca->hdl, IBT_PD_NO_FLAGS, &upd->pd);
1476 upd->uobj.uo_uobj_sz = sizeof (uverbs_upd_uobj_t);
1480 if (sol_ofs_uobj_add(&uverbs_upd_uo_tbl, &upd->uobj) != 0) {
1486 resp.pd_handle = upd->uobj.uo_id;
1493 (void *)upd->pd, &resp.drv_out, sizeof (resp.drv_out));
1514 upd->list_entry = add_genlist(&uctxt->pd_list, (uintptr_t)upd, uctxt);
1517 if (!upd->list_entry) {
1519 "alloc_pd: Error adding upd to pd_list\n");
1524 upd->uobj.uo_live = 1;
1525 rw_exit(&upd->uobj.uo_lock);
1533 upd->uobj.uo_live = 1;
1534 (void) sol_ofs_uobj_remove(&uverbs_upd_uo_tbl, &upd->uobj);
1537 (void) ibt_free_pd(uctxt->hca->hdl, upd->pd);
1540 rw_exit(&upd->uobj.uo_lock);
1541 sol_ofs_uobj_deref(&upd->uobj, sol_ofs_uobj_free);
1549 uverbs_upd_free(uverbs_upd_uobj_t *upd, uverbs_uctxt_uobj_t *uctxt)
1553 rc = ibt_free_pd(uctxt->hca->hdl, upd->pd);
1558 sol_ofs_uobj_put(&upd->uobj);
1567 upd->pd = NULL;
1568 if (upd->list_entry) {
1570 delete_genlist(&uctxt->pd_list, upd->list_entry);
1576 * from upd_uo_tbl and free upd, when called from close also.
1578 sol_ofs_uobj_put(&upd->uobj);
1579 (void) sol_ofs_uobj_remove(&uverbs_upd_uo_tbl, &upd->uobj);
1580 sol_ofs_uobj_deref(&upd->uobj, sol_ofs_uobj_free);
1605 uverbs_upd_uobj_t *upd;
1613 upd = uverbs_uobj_get_upd_write(cmd.pd_handle);
1614 if (upd == NULL) {
1621 if (upd->active_qp_cnt) {
1622 sol_ofs_uobj_put(&upd->uobj);
1625 rc = uverbs_upd_free(upd, uctxt);
2063 uverbs_upd_uobj_t *upd;
2119 upd = uverbs_uobj_get_upd_read(cmd.pd_handle);
2120 if (upd == NULL) {
2127 rc = ibt_register_mr(uctxt->hca->hdl, upd->pd, &new_mem_attr, &umr->mr,
2175 sol_ofs_uobj_put(&upd->uobj);
2191 sol_ofs_uobj_put(&upd->uobj);