Lines Matching refs:devr

2797 		schedule_work(&ibdev->devr.ports[port - 1].pkey_change_work);
2974 struct mlx5_ib_resources *devr = &dev->devr;
2983 * devr->c0 is set once, never changed until device unload.
2986 if (devr->c0)
2989 mutex_lock(&devr->cq_lock);
2990 if (devr->c0)
3009 devr->p0 = pd;
3010 devr->c0 = cq;
3013 mutex_unlock(&devr->cq_lock);
3019 struct mlx5_ib_resources *devr = &dev->devr;
3025 * devr->s1 is set once, never changed until device unload.
3028 if (devr->s1)
3031 mutex_lock(&devr->srq_lock);
3032 if (devr->s1)
3043 attr.ext.cq = devr->c0;
3045 s0 = ib_create_srq(devr->p0, &attr);
3057 s1 = ib_create_srq(devr->p0, &attr);
3064 devr->s0 = s0;
3065 devr->s1 = s1;
3068 mutex_unlock(&devr->srq_lock);
3074 struct mlx5_ib_resources *devr = &dev->devr;
3080 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn0, 0);
3084 ret = mlx5_cmd_xrcd_alloc(dev->mdev, &devr->xrcdn1, 0);
3086 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
3090 mutex_init(&devr->cq_lock);
3091 mutex_init(&devr->srq_lock);
3098 struct mlx5_ib_resources *devr = &dev->devr;
3101 if (devr->s1) {
3102 ib_destroy_srq(devr->s1);
3103 ib_destroy_srq(devr->s0);
3105 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn1, 0);
3106 mlx5_cmd_xrcd_dealloc(dev->mdev, devr->xrcdn0, 0);
3108 if (devr->c0) {
3109 ib_destroy_cq(devr->c0);
3110 ib_dealloc_pd(devr->p0);
3112 mutex_destroy(&devr->cq_lock);
3113 mutex_destroy(&devr->srq_lock);
4583 struct mlx5_ib_resources *devr = &dev->devr;
4586 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
4587 INIT_WORK(&devr->ports[port].pkey_change_work,
4600 struct mlx5_ib_resources *devr = &dev->devr;
4606 for (port = 0; port < ARRAY_SIZE(devr->ports); ++port)
4607 cancel_work_sync(&devr->ports[port].pkey_change_work);