Lines Matching defs:devr
2646 schedule_work(&ibdev->devr.ports[port - 1].pkey_change_work);
2801 struct mlx5_ib_resources *devr = &dev->devr;
2813 devr->p0 = ib_alloc_pd(ibdev, 0);
2814 if (IS_ERR(devr->p0))
2815 return PTR_ERR(devr->p0);
2817 devr->c0 = ib_create_cq(ibdev, NULL, NULL, NULL, &cq_attr);
2818 if (IS_ERR(devr->c0)) {
2819 ret = PTR_ERR(devr->c0);
2823 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn0, 0);
2827 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn1, 0);
2835 attr.ext.cq = devr->c0;
2837 devr->s0 = ib_create_srq(devr->p0, &attr);
2838 if (IS_ERR(devr->s0)) {
2839 ret = PTR_ERR(devr->s0);
2848 devr->s1 = ib_create_srq(devr->p0, &attr);
2849 if (IS_ERR(devr->s1)) {
2850 ret = PTR_ERR(devr->s1);
2854 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
2855 INIT_WORK(&devr->ports[port].pkey_change_work,
2861 ib_destroy_srq(devr->s0);
2863 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn1, 0);
2865 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
2867 ib_destroy_cq(devr->c0);
2869 ib_dealloc_pd(devr->p0);
2875 struct mlx5_ib_resources *devr = &dev->devr;
2884 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
2885 cancel_work_sync(&devr->ports[port].pkey_change_work);
2887 ib_destroy_srq(devr->s1);
2888 ib_destroy_srq(devr->s0);
2889 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn1, 0);
2890 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
2891 ib_destroy_cq(devr->c0);
2892 ib_dealloc_pd(devr->p0);