Lines Matching defs:bf
136 int mlx4_bf_alloc(struct mlx4_dev *dev, struct mlx4_bf *bf)
178 bf->uar = uar;
181 bf->uar = uar;
182 bf->offset = 0;
183 bf->buf_size = dev->caps.bf_reg_size / 2;
184 bf->reg = uar->bf_map + idx * dev->caps.bf_reg_size;
191 bf->uar = NULL;
206 void mlx4_bf_free(struct mlx4_dev *dev, struct mlx4_bf *bf)
211 if (!bf->uar || !bf->uar->bf_map)
215 idx = (bf->reg - bf->uar->bf_map) / dev->caps.bf_reg_size;
216 bf->uar->free_bf_bmap &= ~(1 << idx);
217 if (!bf->uar->free_bf_bmap) {
218 if (!list_empty(&bf->uar->bf_list))
219 list_del(&bf->uar->bf_list);
221 io_mapping_unmap(bf->uar->bf_map);
222 iounmap(bf->uar->map);
223 mlx4_uar_free(dev, bf->uar);
224 kfree(bf->uar);
225 } else if (list_empty(&bf->uar->bf_list))
226 list_add(&bf->uar->bf_list, &priv->bf_list);