Lines Matching defs:bfregn
684 int bfregn = -ENOMEM;
691 bfregn = alloc_high_class_bfreg(dev, bfregi);
692 if (bfregn < 0)
693 bfregn = alloc_med_class_bfreg(dev, bfregi);
696 if (bfregn < 0) {
698 bfregn = 0;
699 bfregi->count[bfregn]++;
703 return bfregn;
706 void mlx5_ib_free_bfreg(struct mlx5_ib_dev *dev, struct mlx5_bfreg_info *bfregi, int bfregn)
709 bfregi->count[bfregn]--;
750 struct mlx5_bfreg_info *bfregi, u32 bfregn,
762 index_of_sys_page = bfregn / bfregs_per_sys_page;
770 if (bfregn > bfregi->num_dyn_bfregs ||
777 offset = bfregn % bfregs_per_sys_page / MLX5_NON_FP_BFREGS_PER_UAR;
884 struct mlx5_bfreg_info *bfregi, int bfregn)
886 return bfregn / MLX5_NON_FP_BFREGS_PER_UAR * MLX5_BFREGS_PER_UAR +
887 bfregn % MLX5_NON_FP_BFREGS_PER_UAR;
903 int bfregn;
918 bfregn = MLX5_IB_INVALID_BFREG;
925 bfregn = MLX5_IB_INVALID_BFREG;
930 bfregn = alloc_bfreg(dev, &context->bfregi);
931 if (bfregn < 0)
932 return bfregn;
938 mlx5_ib_dbg(dev, "bfregn 0x%x, uar_index 0x%x\n", bfregn, uar_index);
939 if (bfregn != MLX5_IB_INVALID_BFREG)
940 uar_index = bfregn_to_uar_index(dev, &context->bfregi, bfregn,
982 if (bfregn != MLX5_IB_INVALID_BFREG)
983 resp->bfreg_index = adjust_bfregn(dev, &context->bfregi, bfregn);
986 qp->bfregn = bfregn;
1003 if (bfregn != MLX5_IB_INVALID_BFREG)
1004 mlx5_ib_free_bfreg(dev, &context->bfregi, bfregn);
1023 if (qp->bfregn != MLX5_IB_INVALID_BFREG)
1024 mlx5_ib_free_bfreg(dev, &context->bfregi, qp->bfregn);