Lines Matching defs:devr

2836 		schedule_work(&ibdev->devr.ports[port - 1].pkey_change_work);
3044 struct mlx5_ib_resources *devr = &dev->devr;
3056 mutex_init(&devr->mutex);
3058 devr->p0 = rdma_zalloc_drv_obj(ibdev, ib_pd);
3059 if (!devr->p0)
3062 devr->p0->device = ibdev;
3063 devr->p0->uobject = NULL;
3064 atomic_set(&devr->p0->usecnt, 0);
3066 ret = mlx5_ib_alloc_pd(devr->p0, NULL);
3070 devr->c0 = rdma_zalloc_drv_obj(ibdev, ib_cq);
3071 if (!devr->c0) {
3076 devr->c0->device = &dev->ib_dev;
3077 atomic_set(&devr->c0->usecnt, 0);
3079 ret = mlx5_ib_create_cq(devr->c0, &cq_attr, NULL);
3083 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn0, 0);
3087 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn1, 0);
3095 attr.ext.cq = devr->c0;
3097 devr->s0 = rdma_zalloc_drv_obj(ibdev, ib_srq);
3098 if (!devr->s0) {
3103 devr->s0->device = &dev->ib_dev;
3104 devr->s0->pd = devr->p0;
3105 devr->s0->srq_type = IB_SRQT_XRC;
3106 devr->s0->ext.cq = devr->c0;
3107 ret = mlx5_ib_create_srq(devr->s0, &attr, NULL);
3111 atomic_inc(&devr->s0->ext.cq->usecnt);
3112 atomic_inc(&devr->p0->usecnt);
3113 atomic_set(&devr->s0->usecnt, 0);
3119 devr->s1 = rdma_zalloc_drv_obj(ibdev, ib_srq);
3120 if (!devr->s1) {
3125 devr->s1->device = &dev->ib_dev;
3126 devr->s1->pd = devr->p0;
3127 devr->s1->srq_type = IB_SRQT_BASIC;
3128 devr->s1->ext.cq = devr->c0;
3130 ret = mlx5_ib_create_srq(devr->s1, &attr, NULL);
3134 atomic_inc(&devr->p0->usecnt);
3135 atomic_set(&devr->s1->usecnt, 0);
3137 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
3138 INIT_WORK(&devr->ports[port].pkey_change_work,
3144 kfree(devr->s1);
3146 mlx5_ib_destroy_srq(devr->s0, NULL);
3148 kfree(devr->s0);
3150 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn1, 0);
3152 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
3154 mlx5_ib_destroy_cq(devr->c0, NULL);
3156 kfree(devr->c0);
3158 mlx5_ib_dealloc_pd(devr->p0, NULL);
3160 kfree(devr->p0);
3166 struct mlx5_ib_resources *devr = &dev->devr;
3169 mlx5_ib_destroy_srq(devr->s1, NULL);
3170 kfree(devr->s1);
3171 mlx5_ib_destroy_srq(devr->s0, NULL);
3172 kfree(devr->s0);
3173 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn1, 0);
3174 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
3175 mlx5_ib_destroy_cq(devr->c0, NULL);
3176 kfree(devr->c0);
3177 mlx5_ib_dealloc_pd(devr->p0, NULL);
3178 kfree(devr->p0);
3181 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
3182 cancel_work_sync(&devr->ports[port].pkey_change_work);