zone_alloc 241 drivers/net/ethernet/mellanox/mlx4/alloc.c int mlx4_zone_add_one(struct mlx4_zone_allocator *zone_alloc, zone_alloc 261 drivers/net/ethernet/mellanox/mlx4/alloc.c spin_lock(&zone_alloc->lock); zone_alloc 263 drivers/net/ethernet/mellanox/mlx4/alloc.c zone->uid = zone_alloc->last_uid++; zone_alloc 264 drivers/net/ethernet/mellanox/mlx4/alloc.c zone->allocator = zone_alloc; zone_alloc 266 drivers/net/ethernet/mellanox/mlx4/alloc.c if (zone_alloc->mask < mask) zone_alloc 267 drivers/net/ethernet/mellanox/mlx4/alloc.c zone_alloc->mask = mask; zone_alloc 269 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry(it, &zone_alloc->prios, prio_list) zone_alloc 273 drivers/net/ethernet/mellanox/mlx4/alloc.c if (&it->prio_list == &zone_alloc->prios || it->priority > priority) zone_alloc 277 drivers/net/ethernet/mellanox/mlx4/alloc.c spin_unlock(&zone_alloc->lock); zone_alloc 287 drivers/net/ethernet/mellanox/mlx4/alloc.c struct mlx4_zone_allocator *zone_alloc = entry->allocator; zone_alloc 291 drivers/net/ethernet/mellanox/mlx4/alloc.c if (!list_is_last(&entry->list, &zone_alloc->entries)) { zone_alloc 305 drivers/net/ethernet/mellanox/mlx4/alloc.c if (zone_alloc->flags & MLX4_ZONE_ALLOC_FLAGS_NO_OVERLAP) { zone_alloc 309 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry(it, &zone_alloc->prios, prio_list) { zone_alloc 315 drivers/net/ethernet/mellanox/mlx4/alloc.c zone_alloc->mask = mask; zone_alloc 319 drivers/net/ethernet/mellanox/mlx4/alloc.c void mlx4_zone_allocator_destroy(struct mlx4_zone_allocator *zone_alloc) zone_alloc 323 drivers/net/ethernet/mellanox/mlx4/alloc.c spin_lock(&zone_alloc->lock); zone_alloc 325 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry_safe(zone, tmp, &zone_alloc->entries, list) { zone_alloc 331 drivers/net/ethernet/mellanox/mlx4/alloc.c spin_unlock(&zone_alloc->lock); zone_alloc 332 drivers/net/ethernet/mellanox/mlx4/alloc.c kfree(zone_alloc); zone_alloc 341 drivers/net/ethernet/mellanox/mlx4/alloc.c struct mlx4_zone_allocator *zone_alloc = zone->allocator; zone_alloc 353 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry(curr_node, &zone_alloc->prios, prio_list) { zone_alloc 361 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry_continue_reverse(it, &zone_alloc->entries, list) { zone_alloc 375 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry_from(it, &zone_alloc->entries, list) { zone_alloc 393 drivers/net/ethernet/mellanox/mlx4/alloc.c if (list_is_last(&curr_node->prio_list, &zone_alloc->prios)) zone_alloc 400 drivers/net/ethernet/mellanox/mlx4/alloc.c list_for_each_entry_from(curr_node, &zone_alloc->entries, list) { zone_alloc 1447 drivers/net/ethernet/mellanox/mlx4/mlx4.h int mlx4_zone_add_one(struct mlx4_zone_allocator *zone_alloc, zone_alloc 1455 drivers/net/ethernet/mellanox/mlx4/mlx4.h int mlx4_zone_remove_one(struct mlx4_zone_allocator *zone_alloc, u32 uid); zone_alloc 1460 drivers/net/ethernet/mellanox/mlx4/mlx4.h void mlx4_zone_allocator_destroy(struct mlx4_zone_allocator *zone_alloc);