Lines Matching refs:qp_table

51 	struct mlx4_qp_table *qp_table = &mlx4_priv(dev)->qp_table;  in mlx4_qp_event()  local
54 spin_lock(&qp_table->lock); in mlx4_qp_event()
60 spin_unlock(&qp_table->lock); in mlx4_qp_event()
220 struct mlx4_qp_table *qp_table = &priv->qp_table; in __mlx4_qp_reserve_range() local
233 *base = mlx4_zone_alloc_entries(qp_table->zones, uid, cnt, align, in __mlx4_qp_reserve_range()
271 struct mlx4_qp_table *qp_table = &priv->qp_table; in __mlx4_qp_release_range() local
275 mlx4_zone_free_entries_unique(qp_table->zones, base_qpn, cnt); in __mlx4_qp_release_range()
301 struct mlx4_qp_table *qp_table = &priv->qp_table; in __mlx4_qp_alloc_icm() local
304 err = mlx4_table_get(dev, &qp_table->qp_table, qpn, gfp); in __mlx4_qp_alloc_icm()
308 err = mlx4_table_get(dev, &qp_table->auxc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
312 err = mlx4_table_get(dev, &qp_table->altc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
316 err = mlx4_table_get(dev, &qp_table->rdmarc_table, qpn, gfp); in __mlx4_qp_alloc_icm()
320 err = mlx4_table_get(dev, &qp_table->cmpt_table, qpn, gfp); in __mlx4_qp_alloc_icm()
327 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn); in __mlx4_qp_alloc_icm()
330 mlx4_table_put(dev, &qp_table->altc_table, qpn); in __mlx4_qp_alloc_icm()
333 mlx4_table_put(dev, &qp_table->auxc_table, qpn); in __mlx4_qp_alloc_icm()
336 mlx4_table_put(dev, &qp_table->qp_table, qpn); in __mlx4_qp_alloc_icm()
358 struct mlx4_qp_table *qp_table = &priv->qp_table; in __mlx4_qp_free_icm() local
360 mlx4_table_put(dev, &qp_table->cmpt_table, qpn); in __mlx4_qp_free_icm()
361 mlx4_table_put(dev, &qp_table->rdmarc_table, qpn); in __mlx4_qp_free_icm()
362 mlx4_table_put(dev, &qp_table->altc_table, qpn); in __mlx4_qp_free_icm()
363 mlx4_table_put(dev, &qp_table->auxc_table, qpn); in __mlx4_qp_free_icm()
364 mlx4_table_put(dev, &qp_table->qp_table, qpn); in __mlx4_qp_free_icm()
384 struct mlx4_qp_table *qp_table = &priv->qp_table; in mlx4_qp_alloc() local
396 spin_lock_irq(&qp_table->lock); in mlx4_qp_alloc()
399 spin_unlock_irq(&qp_table->lock); in mlx4_qp_alloc()
469 struct mlx4_qp_table *qp_table = &mlx4_priv(dev)->qp_table; in mlx4_qp_remove() local
472 spin_lock_irqsave(&qp_table->lock, flags); in mlx4_qp_remove()
474 spin_unlock_irqrestore(&qp_table->lock, flags); in mlx4_qp_remove()
505 struct mlx4_qp_table *qp_table = &mlx4_priv(dev)->qp_table; in mlx4_create_zones() local
512 qp_table->zones = mlx4_zone_allocator_create(MLX4_ZONE_ALLOC_FLAGS_NO_OVERLAP); in mlx4_create_zones()
514 if (NULL == qp_table->zones) in mlx4_create_zones()
533 err = mlx4_zone_add_one(qp_table->zones, *bitmap + MLX4_QP_TABLE_ZONE_GENERAL, in mlx4_create_zones()
536 0, qp_table->zones_uids + MLX4_QP_TABLE_ZONE_GENERAL); in mlx4_create_zones()
552 err = mlx4_zone_add_one(qp_table->zones, *bitmap + MLX4_QP_TABLE_ZONE_RSS, in mlx4_create_zones()
556 0, qp_table->zones_uids + MLX4_QP_TABLE_ZONE_RSS); in mlx4_create_zones()
662 err = mlx4_zone_add_one(qp_table->zones, *bitmap + k, in mlx4_create_zones()
666 offset, qp_table->zones_uids + k); in mlx4_create_zones()
675 qp_table->bitmap_gen = *bitmap; in mlx4_create_zones()
684 mlx4_zone_allocator_destroy(qp_table->zones); in mlx4_create_zones()
690 struct mlx4_qp_table *qp_table = &mlx4_priv(dev)->qp_table; in mlx4_cleanup_qp_zones() local
692 if (qp_table->zones) { in mlx4_cleanup_qp_zones()
696 i < sizeof(qp_table->zones_uids)/sizeof(qp_table->zones_uids[0]); in mlx4_cleanup_qp_zones()
699 mlx4_zone_get_bitmap(qp_table->zones, in mlx4_cleanup_qp_zones()
700 qp_table->zones_uids[i]); in mlx4_cleanup_qp_zones()
702 mlx4_zone_remove_one(qp_table->zones, qp_table->zones_uids[i]); in mlx4_cleanup_qp_zones()
708 mlx4_zone_allocator_destroy(qp_table->zones); in mlx4_cleanup_qp_zones()
709 kfree(qp_table->bitmap_gen); in mlx4_cleanup_qp_zones()
710 qp_table->bitmap_gen = NULL; in mlx4_cleanup_qp_zones()
711 qp_table->zones = NULL; in mlx4_cleanup_qp_zones()
717 struct mlx4_qp_table *qp_table = &mlx4_priv(dev)->qp_table; in mlx4_init_qp_table() local
727 spin_lock_init(&qp_table->lock); in mlx4_init_qp_table()