Lines Matching refs:xrcd

1046 	struct ib_xrcd		       *xrcd;
1069 xrcd = cmd.qp_type == IB_QPT_XRC ?
1077 (cmd.qp_type == IB_QPT_XRC && !xrcd)) {
1090 attr.xrcd = xrcd;
1118 qp->xrcd = attr.xrcd;
1124 else if (attr.xrcd)
1125 atomic_inc(&attr.xrcd->usecnt);
1153 if (xrcd)
1181 if (xrcd)
2036 srq->ext.xrc.xrcd = NULL;
2093 struct ib_xrcd *xrcd;
2128 xrcd = idr_read_xrcd(cmd.xrcd_handle, file->ucontext, &xrcd_uobj);
2129 if (!xrcd) {
2144 srq = pd->device->create_xrc_srq(pd, xrc_cq, xrcd, &attr, &udata);
2156 srq->ext.xrc.xrcd = xrcd;
2159 atomic_inc(&xrcd->usecnt);
2340 struct ib_xrcd *xrcd;
2345 struct ib_xrcd *xrcd)
2356 entry->xrcd = xrcd;
2400 struct ib_xrcd **xrcd)
2408 *xrcd = entry->xrcd;
2434 struct ib_xrcd *xrcd = NULL;
2465 ret = find_xrcd(file->device->ib_dev, inode, &xrcd);
2472 if (xrcd && cmd.oflags & O_EXCL) {
2488 if (!xrcd) {
2489 xrcd = file->device->ib_dev->alloc_xrcd(file->device->ib_dev,
2491 if (IS_ERR(xrcd)) {
2492 ret = PTR_ERR(xrcd);
2495 xrcd->uobject = (cmd.fd == -1) ? uobj : NULL;
2496 xrcd->inode = inode;
2497 xrcd->device = file->device->ib_dev;
2498 atomic_set(&xrcd->usecnt, 0);
2502 uobj->object = xrcd;
2512 /* create new inode/xrcd table entry */
2513 ret = xrcd_table_insert(file->device->ib_dev, inode, xrcd);
2517 atomic_inc(&xrcd->usecnt);
2546 atomic_dec(&xrcd->usecnt);
2553 ib_dealloc_xrcd(xrcd);
2573 struct ib_xrcd *xrcd = NULL;
2592 if (qp->xrcd && qp->xrcd == uobj->object) {
2601 if (srq->ext.xrc.xrcd && srq->ext.xrc.xrcd == uobj->object) {
2620 xrcd = (struct ib_xrcd *) (uobj->object);
2621 inode = xrcd->inode;
2624 atomic_dec(&xrcd->usecnt);
2655 struct ib_xrcd *xrcd)
2660 inode = xrcd->inode;
2662 atomic_dec(&xrcd->usecnt);
2664 ret = ib_dealloc_xrcd(xrcd);
2677 struct ib_xrcd *xrcd;
2693 xrcd = idr_read_xrcd(cmd.xrc_domain_handle, file->ucontext, &uobj);
2694 if (!xrcd) {
2705 init_attr.xrcd = xrcd;
2713 err = xrcd->device->create_xrc_rcv_qp(&init_attr, &qp_num);
2726 atomic_inc(&xrcd->usecnt);
2738 xrcd->device->unreg_xrc_rcv_qp(xrcd, file, qp_num);
2752 struct ib_xrcd *xrcd;
2763 xrcd = idr_read_xrcd(cmd.xrc_domain_handle, file->ucontext, &uobj);
2764 if (!xrcd) {
2816 err = xrcd->device->modify_xrc_rcv_qp(xrcd, cmd.qp_num, attr, cmd.attr_mask);
2830 struct ib_xrcd *xrcd;
2844 xrcd = idr_read_xrcd(cmd.xrc_domain_handle, file->ucontext, &uobj);
2845 if (!xrcd) {
2850 ret = xrcd->device->query_xrc_rcv_qp(xrcd, cmd.qp_num, attr,
2929 struct ib_xrcd *xrcd;
2941 xrcd = idr_read_xrcd(cmd.xrc_domain_handle, file->ucontext, &uobj);
2942 if (!xrcd) {
2947 ret = xrcd->device->reg_xrc_rcv_qp(xrcd, file, cmd.qp_num);
2964 atomic_inc(&xrcd->usecnt);
2977 struct ib_xrcd *xrcd, u32 qp_num)
2980 err = xrcd->device->unreg_xrc_rcv_qp(xrcd, file, qp_num);
2982 atomic_dec(&xrcd->usecnt);
2992 struct ib_xrcd *xrcd;
3000 xrcd = idr_read_xrcd(cmd.xrc_domain_handle, file->ucontext, &uobj);
3001 if (!xrcd)
3004 ret = xrcd->device->unreg_xrc_rcv_qp(xrcd, file, cmd.qp_num);
3009 atomic_dec(&xrcd->usecnt);