Lines Matching defs:bf
174 int mlx4_bf_alloc(struct mlx4_dev *dev, struct mlx4_bf *bf, int node) {
220 bf->uar = uar;
223 bf->uar = uar;
224 bf->offset = 0;
225 bf->buf_size = priv->dev.caps.bf_reg_size / 2;
226 bf->reg = uar->bf_map + idx * priv->dev.caps.bf_reg_size;
232 unamp_uar: bf->uar = NULL;
245 void mlx4_bf_free(struct mlx4_dev *dev, struct mlx4_bf *bf)
250 if (!bf->uar || !bf->uar->bf_map)
254 idx = (bf->reg - bf->uar->bf_map) / priv->dev.caps.bf_reg_size;
255 bf->uar->free_bf_bmap &= ~(1 << idx);
256 if (!bf->uar->free_bf_bmap) {
257 if (!list_empty(&bf->uar->bf_list))
258 list_del(&bf->uar->bf_list);
260 io_mapping_unmap(bf->uar->bf_map);
261 iounmap(bf->uar->map);
262 mlx4_uar_free(dev, bf->uar);
263 kfree(bf->uar);
264 } else if (list_empty(&bf->uar->bf_list))
265 list_add(&bf->uar->bf_list, &priv->bf_list);
272 int mlx4_bf_alloc(struct mlx4_dev *dev, struct mlx4_bf *bf, int node)
274 memset(bf, 0, sizeof *bf);
279 void mlx4_bf_free(struct mlx4_dev *dev, struct mlx4_bf *bf)