Lines Matching defs:xrcd
501 struct ib_xrcd *xrcd;
507 struct ib_xrcd *xrcd)
517 entry->xrcd = xrcd;
568 return entry->xrcd;
590 struct ib_xrcd *xrcd = NULL;
612 xrcd = find_xrcd(ibudev, inode);
613 if (!xrcd && !(cmd.oflags & O_CREAT)) {
619 if (xrcd && cmd.oflags & O_EXCL) {
632 if (!xrcd) {
633 xrcd = ib_alloc_xrcd_user(ib_dev, inode, &attrs->driver_udata);
634 if (IS_ERR(xrcd)) {
635 ret = PTR_ERR(xrcd);
642 obj->uobject.object = xrcd;
646 /* create new inode/xrcd table entry */
647 ret = xrcd_table_insert(ibudev, inode, xrcd);
651 atomic_inc(&xrcd->usecnt);
663 ib_dealloc_xrcd_user(xrcd, uverbs_get_cleared_udata(attrs));
688 int ib_uverbs_dealloc_xrcd(struct ib_uobject *uobject, struct ib_xrcd *xrcd,
696 inode = xrcd->inode;
697 if (inode && !atomic_dec_and_test(&xrcd->usecnt))
700 ret = ib_dealloc_xrcd_user(xrcd, &attrs->driver_udata);
702 atomic_inc(&xrcd->usecnt);
1301 struct ib_xrcd *xrcd = NULL;
1366 xrcd = (struct ib_xrcd *)xrcd_uobj->object;
1367 if (!xrcd) {
1371 device = xrcd->device;
1426 attr.xrcd = xrcd;
1475 if (xrcd) {
1579 struct ib_xrcd *xrcd;
1601 xrcd = (struct ib_xrcd *)xrcd_uobj->object;
1602 if (!xrcd) {
1614 qp = ib_open_qp(xrcd, &attr);
3416 attr.ext.xrc.xrcd = (struct ib_xrcd *)xrcd_uobj->object;
3417 if (!attr.ext.xrc.xrcd) {