Lines Matching refs:devr

1086 static int create_dev_resources(struct mlx5_ib_resources *devr)  in create_dev_resources()  argument
1092 dev = container_of(devr, struct mlx5_ib_dev, devr); in create_dev_resources()
1094 devr->p0 = mlx5_ib_alloc_pd(&dev->ib_dev, NULL, NULL); in create_dev_resources()
1095 if (IS_ERR(devr->p0)) { in create_dev_resources()
1096 ret = PTR_ERR(devr->p0); in create_dev_resources()
1099 devr->p0->device = &dev->ib_dev; in create_dev_resources()
1100 devr->p0->uobject = NULL; in create_dev_resources()
1101 atomic_set(&devr->p0->usecnt, 0); in create_dev_resources()
1103 devr->c0 = mlx5_ib_create_cq(&dev->ib_dev, 1, 0, NULL, NULL); in create_dev_resources()
1104 if (IS_ERR(devr->c0)) { in create_dev_resources()
1105 ret = PTR_ERR(devr->c0); in create_dev_resources()
1108 devr->c0->device = &dev->ib_dev; in create_dev_resources()
1109 devr->c0->uobject = NULL; in create_dev_resources()
1110 devr->c0->comp_handler = NULL; in create_dev_resources()
1111 devr->c0->event_handler = NULL; in create_dev_resources()
1112 devr->c0->cq_context = NULL; in create_dev_resources()
1113 atomic_set(&devr->c0->usecnt, 0); in create_dev_resources()
1115 devr->x0 = mlx5_ib_alloc_xrcd(&dev->ib_dev, NULL, NULL); in create_dev_resources()
1116 if (IS_ERR(devr->x0)) { in create_dev_resources()
1117 ret = PTR_ERR(devr->x0); in create_dev_resources()
1120 devr->x0->device = &dev->ib_dev; in create_dev_resources()
1121 devr->x0->inode = NULL; in create_dev_resources()
1122 atomic_set(&devr->x0->usecnt, 0); in create_dev_resources()
1123 mutex_init(&devr->x0->tgt_qp_mutex); in create_dev_resources()
1124 INIT_LIST_HEAD(&devr->x0->tgt_qp_list); in create_dev_resources()
1126 devr->x1 = mlx5_ib_alloc_xrcd(&dev->ib_dev, NULL, NULL); in create_dev_resources()
1127 if (IS_ERR(devr->x1)) { in create_dev_resources()
1128 ret = PTR_ERR(devr->x1); in create_dev_resources()
1131 devr->x1->device = &dev->ib_dev; in create_dev_resources()
1132 devr->x1->inode = NULL; in create_dev_resources()
1133 atomic_set(&devr->x1->usecnt, 0); in create_dev_resources()
1134 mutex_init(&devr->x1->tgt_qp_mutex); in create_dev_resources()
1135 INIT_LIST_HEAD(&devr->x1->tgt_qp_list); in create_dev_resources()
1141 attr.ext.xrc.cq = devr->c0; in create_dev_resources()
1142 attr.ext.xrc.xrcd = devr->x0; in create_dev_resources()
1144 devr->s0 = mlx5_ib_create_srq(devr->p0, &attr, NULL); in create_dev_resources()
1145 if (IS_ERR(devr->s0)) { in create_dev_resources()
1146 ret = PTR_ERR(devr->s0); in create_dev_resources()
1149 devr->s0->device = &dev->ib_dev; in create_dev_resources()
1150 devr->s0->pd = devr->p0; in create_dev_resources()
1151 devr->s0->uobject = NULL; in create_dev_resources()
1152 devr->s0->event_handler = NULL; in create_dev_resources()
1153 devr->s0->srq_context = NULL; in create_dev_resources()
1154 devr->s0->srq_type = IB_SRQT_XRC; in create_dev_resources()
1155 devr->s0->ext.xrc.xrcd = devr->x0; in create_dev_resources()
1156 devr->s0->ext.xrc.cq = devr->c0; in create_dev_resources()
1157 atomic_inc(&devr->s0->ext.xrc.xrcd->usecnt); in create_dev_resources()
1158 atomic_inc(&devr->s0->ext.xrc.cq->usecnt); in create_dev_resources()
1159 atomic_inc(&devr->p0->usecnt); in create_dev_resources()
1160 atomic_set(&devr->s0->usecnt, 0); in create_dev_resources()
1165 mlx5_ib_dealloc_xrcd(devr->x1); in create_dev_resources()
1167 mlx5_ib_dealloc_xrcd(devr->x0); in create_dev_resources()
1169 mlx5_ib_destroy_cq(devr->c0); in create_dev_resources()
1171 mlx5_ib_dealloc_pd(devr->p0); in create_dev_resources()
1176 static void destroy_dev_resources(struct mlx5_ib_resources *devr) in destroy_dev_resources() argument
1178 mlx5_ib_destroy_srq(devr->s0); in destroy_dev_resources()
1179 mlx5_ib_dealloc_xrcd(devr->x0); in destroy_dev_resources()
1180 mlx5_ib_dealloc_xrcd(devr->x1); in destroy_dev_resources()
1181 mlx5_ib_destroy_cq(devr->c0); in destroy_dev_resources()
1182 mlx5_ib_dealloc_pd(devr->p0); in destroy_dev_resources()
1305 err = create_dev_resources(&dev->devr); in mlx5_ib_add()
1342 destroy_dev_resources(&dev->devr); in mlx5_ib_add()
1357 destroy_dev_resources(&dev->devr); in mlx5_ib_remove()