Lines Matching refs:cq_table

104 	cq = radix_tree_lookup(&mlx4_priv(dev)->cq_table.tree,  in mlx4_cq_completion()
118 struct mlx4_cq_table *cq_table = &mlx4_priv(dev)->cq_table; in mlx4_cq_event() local
121 spin_lock(&cq_table->lock); in mlx4_cq_event()
123 cq = radix_tree_lookup(&cq_table->tree, cqn & (dev->caps.num_cqs - 1)); in mlx4_cq_event()
127 spin_unlock(&cq_table->lock); in mlx4_cq_event()
214 struct mlx4_cq_table *cq_table = &priv->cq_table; in __mlx4_cq_alloc_icm() local
217 *cqn = mlx4_bitmap_alloc(&cq_table->bitmap); in __mlx4_cq_alloc_icm()
221 err = mlx4_table_get(dev, &cq_table->table, *cqn, GFP_KERNEL); in __mlx4_cq_alloc_icm()
225 err = mlx4_table_get(dev, &cq_table->cmpt_table, *cqn, GFP_KERNEL); in __mlx4_cq_alloc_icm()
231 mlx4_table_put(dev, &cq_table->table, *cqn); in __mlx4_cq_alloc_icm()
234 mlx4_bitmap_free(&cq_table->bitmap, *cqn, MLX4_NO_RR); in __mlx4_cq_alloc_icm()
260 struct mlx4_cq_table *cq_table = &priv->cq_table; in __mlx4_cq_free_icm() local
262 mlx4_table_put(dev, &cq_table->cmpt_table, cqn); in __mlx4_cq_free_icm()
263 mlx4_table_put(dev, &cq_table->table, cqn); in __mlx4_cq_free_icm()
264 mlx4_bitmap_free(&cq_table->bitmap, cqn, MLX4_NO_RR); in __mlx4_cq_free_icm()
289 struct mlx4_cq_table *cq_table = &priv->cq_table; in mlx4_cq_alloc() local
304 spin_lock_irq(&cq_table->lock); in mlx4_cq_alloc()
305 err = radix_tree_insert(&cq_table->tree, cq->cqn, cq); in mlx4_cq_alloc()
306 spin_unlock_irq(&cq_table->lock); in mlx4_cq_alloc()
350 spin_lock_irq(&cq_table->lock); in mlx4_cq_alloc()
351 radix_tree_delete(&cq_table->tree, cq->cqn); in mlx4_cq_alloc()
352 spin_unlock_irq(&cq_table->lock); in mlx4_cq_alloc()
364 struct mlx4_cq_table *cq_table = &priv->cq_table; in mlx4_cq_free() local
373 spin_lock_irq(&cq_table->lock); in mlx4_cq_free()
374 radix_tree_delete(&cq_table->tree, cq->cqn); in mlx4_cq_free()
375 spin_unlock_irq(&cq_table->lock); in mlx4_cq_free()
387 struct mlx4_cq_table *cq_table = &mlx4_priv(dev)->cq_table; in mlx4_init_cq_table() local
390 spin_lock_init(&cq_table->lock); in mlx4_init_cq_table()
391 INIT_RADIX_TREE(&cq_table->tree, GFP_ATOMIC); in mlx4_init_cq_table()
395 err = mlx4_bitmap_init(&cq_table->bitmap, dev->caps.num_cqs, in mlx4_init_cq_table()
408 mlx4_bitmap_cleanup(&mlx4_priv(dev)->cq_table.bitmap); in mlx4_cleanup_cq_table()