Lines Matching defs:var_table
2118 struct mlx5_var_table *var_table = &dev->var_table;
2127 mutex_lock(&var_table->bitmap_lock);
2128 clear_bit(mentry->page_idx, var_table->bitmap);
2129 mutex_unlock(&var_table->bitmap_lock);
3408 struct mlx5_var_table *var_table;
3412 var_table = &to_mdev(c->ibucontext.device)->var_table;
3417 mutex_lock(&var_table->bitmap_lock);
3418 page_idx = find_first_zero_bit(var_table->bitmap,
3419 var_table->num_var_hw_entries);
3420 if (page_idx >= var_table->num_var_hw_entries) {
3422 mutex_unlock(&var_table->bitmap_lock);
3426 set_bit(page_idx, var_table->bitmap);
3427 mutex_unlock(&var_table->bitmap_lock);
3429 entry->address = var_table->hw_start_addr +
3430 (page_idx * var_table->stride_size);
3435 var_table->stride_size);
3442 mutex_lock(&var_table->bitmap_lock);
3443 clear_bit(page_idx, var_table->bitmap);
3444 mutex_unlock(&var_table->bitmap_lock);
3853 struct mlx5_var_table *var_table = &dev->var_table;
3862 var_table->hw_start_addr = dev->mdev->bar_addr +
3866 var_table->stride_size = 1ULL << log_doorbell_stride;
3867 var_table->num_var_hw_entries = div_u64(bar_size,
3868 var_table->stride_size);
3869 mutex_init(&var_table->bitmap_lock);
3870 var_table->bitmap = bitmap_zalloc(var_table->num_var_hw_entries,
3872 return (var_table->bitmap) ? 0 : -ENOMEM;
3877 bitmap_free(dev->var_table.bitmap);