Lines Matching refs:xrcd
482 struct ib_xrcd *xrcd; member
488 struct ib_xrcd *xrcd) in xrcd_table_insert() argument
498 entry->xrcd = xrcd; in xrcd_table_insert()
549 return entry->xrcd; in find_xrcd()
571 struct ib_xrcd *xrcd = NULL; in ib_uverbs_open_xrcd() local
593 xrcd = find_xrcd(ibudev, inode); in ib_uverbs_open_xrcd()
594 if (!xrcd && !(cmd.oflags & O_CREAT)) { in ib_uverbs_open_xrcd()
600 if (xrcd && cmd.oflags & O_EXCL) { in ib_uverbs_open_xrcd()
613 if (!xrcd) { in ib_uverbs_open_xrcd()
614 xrcd = ib_alloc_xrcd_user(ib_dev, inode, &attrs->driver_udata); in ib_uverbs_open_xrcd()
615 if (IS_ERR(xrcd)) { in ib_uverbs_open_xrcd()
616 ret = PTR_ERR(xrcd); in ib_uverbs_open_xrcd()
623 obj->uobject.object = xrcd; in ib_uverbs_open_xrcd()
628 ret = xrcd_table_insert(ibudev, inode, xrcd); in ib_uverbs_open_xrcd()
632 atomic_inc(&xrcd->usecnt); in ib_uverbs_open_xrcd()
645 ib_dealloc_xrcd_user(xrcd, uverbs_get_cleared_udata(attrs)); in ib_uverbs_open_xrcd()
671 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd, in ib_uverbs_dealloc_xrcd() argument
679 inode = xrcd->inode; in ib_uverbs_dealloc_xrcd()
680 if (inode && !atomic_dec_and_test(&xrcd->usecnt)) in ib_uverbs_dealloc_xrcd()
683 ret = ib_dealloc_xrcd_user(xrcd, &attrs->driver_udata); in ib_uverbs_dealloc_xrcd()
685 atomic_inc(&xrcd->usecnt); in ib_uverbs_dealloc_xrcd()
1281 struct ib_xrcd *xrcd = NULL; in create_qp() local
1346 xrcd = (struct ib_xrcd *)xrcd_uobj->object; in create_qp()
1347 if (!xrcd) { in create_qp()
1351 device = xrcd->device; in create_qp()
1398 attr.xrcd = xrcd; in create_qp()
1448 if (xrcd) { in create_qp()
1552 struct ib_xrcd *xrcd; in ib_uverbs_open_qp() local
1574 xrcd = (struct ib_xrcd *)xrcd_uobj->object; in ib_uverbs_open_qp()
1575 if (!xrcd) { in ib_uverbs_open_qp()
1587 qp = ib_open_qp(xrcd, &attr); in ib_uverbs_open_qp()
3380 attr.ext.xrc.xrcd = (struct ib_xrcd *)xrcd_uobj->object; in __uverbs_create_xsrq()
3381 if (!attr.ext.xrc.xrcd) { in __uverbs_create_xsrq()