Lines Matching defs:xrcd
752 struct mlx4_ib_xrcd *xrcd;
758 xrcd = kmalloc(sizeof *xrcd, GFP_KERNEL);
759 if (!xrcd)
762 err = mlx4_xrcd_alloc(to_mdev(ibdev)->dev, &xrcd->xrcdn);
766 xrcd->pd = ib_alloc_pd(ibdev);
767 if (IS_ERR(xrcd->pd)) {
768 err = PTR_ERR(xrcd->pd);
772 xrcd->cq = ib_create_cq(ibdev, NULL, NULL, xrcd, 1, 0);
773 if (IS_ERR(xrcd->cq)) {
774 err = PTR_ERR(xrcd->cq);
778 return &xrcd->ibxrcd;
781 ib_dealloc_pd(xrcd->pd);
783 mlx4_xrcd_free(to_mdev(ibdev)->dev, xrcd->xrcdn);
785 kfree(xrcd);
789 static int mlx4_ib_dealloc_xrcd(struct ib_xrcd *xrcd)
791 ib_destroy_cq(to_mxrcd(xrcd)->cq);
792 ib_dealloc_pd(to_mxrcd(xrcd)->pd);
793 mlx4_xrcd_free(to_mdev(xrcd->device)->dev, to_mxrcd(xrcd)->xrcdn);
794 kfree(xrcd);