Lines Matching defs:bfregn
767 int bfregn = -ENOMEM;
774 bfregn = alloc_high_class_bfreg(dev, bfregi);
775 if (bfregn < 0)
776 bfregn = alloc_med_class_bfreg(dev, bfregi);
779 if (bfregn < 0) {
781 bfregn = 0;
782 bfregi->count[bfregn]++;
786 return bfregn;
789 void mlx5_ib_free_bfreg(struct mlx5_ib_dev *dev, struct mlx5_bfreg_info *bfregi, int bfregn)
792 bfregi->count[bfregn]--;
833 struct mlx5_bfreg_info *bfregi, u32 bfregn,
845 index_of_sys_page = bfregn / bfregs_per_sys_page;
853 if (bfregn > bfregi->num_dyn_bfregs ||
860 offset = bfregn % bfregs_per_sys_page / MLX5_NON_FP_BFREGS_PER_UAR;
935 struct mlx5_bfreg_info *bfregi, int bfregn)
937 return bfregn / MLX5_NON_FP_BFREGS_PER_UAR * MLX5_BFREGS_PER_UAR +
938 bfregn % MLX5_NON_FP_BFREGS_PER_UAR;
953 int bfregn;
968 bfregn = MLX5_IB_INVALID_BFREG;
975 bfregn = MLX5_IB_INVALID_BFREG;
980 bfregn = alloc_bfreg(dev, &context->bfregi);
981 if (bfregn < 0)
982 return bfregn;
988 mlx5_ib_dbg(dev, "bfregn 0x%x, uar_index 0x%x\n", bfregn, uar_index);
989 if (bfregn != MLX5_IB_INVALID_BFREG)
990 uar_index = bfregn_to_uar_index(dev, &context->bfregi, bfregn,
1041 if (bfregn != MLX5_IB_INVALID_BFREG)
1042 resp->bfreg_index = adjust_bfregn(dev, &context->bfregi, bfregn);
1045 qp->bfregn = bfregn;
1062 if (bfregn != MLX5_IB_INVALID_BFREG)
1063 mlx5_ib_free_bfreg(dev, &context->bfregi, bfregn);
1082 if (qp->bfregn != MLX5_IB_INVALID_BFREG)
1083 mlx5_ib_free_bfreg(dev, &context->bfregi, qp->bfregn);