Lines Matching refs:al
66 struct axmap_level *al = &axmap->levels[i]; in axmap_reset() local
68 memset(al->map, 0, al->map_size * sizeof(unsigned long)); in axmap_reset()
109 struct axmap_level *al = &axmap->levels[i]; in axmap_new() local
111 al->level = i; in axmap_new()
112 al->map_size = (nr_bits + BLOCKS_PER_UNIT - 1) >> UNIT_SHIFT; in axmap_new()
113 al->map = malloc(al->map_size * sizeof(unsigned long)); in axmap_new()
114 if (!al->map) in axmap_new()
136 struct axmap_level *al; in axmap_handler() local
144 al = &axmap->levels[i]; in axmap_handler()
146 if (func(al, offset, bit, data)) in axmap_handler()
157 struct axmap_level *al; in axmap_handler_topdown() local
165 al = &axmap->levels[i]; in axmap_handler_topdown()
167 if (func(al, offset, bit, data)) in axmap_handler_topdown()
174 static int axmap_clear_fn(struct axmap_level *al, unsigned long offset, in axmap_clear_fn() argument
177 if (!(al->map[offset] & (1UL << bit))) in axmap_clear_fn()
180 al->map[offset] &= ~(1UL << bit); in axmap_clear_fn()
216 static int axmap_set_fn(struct axmap_level *al, unsigned long offset, in axmap_set_fn() argument
230 overlap = al->map[offset] & mask; in axmap_set_fn()
243 assert(!(al->map[offset] & mask)); in axmap_set_fn()
245 al->map[offset] |= mask; in axmap_set_fn()
247 if (!al->level) in axmap_set_fn()
251 return al->map[offset] != -1UL; in axmap_set_fn()
318 static int axmap_isset_fn(struct axmap_level *al, unsigned long offset, in axmap_isset_fn() argument
321 return (al->map[offset] & (1UL << bit)) != 0; in axmap_isset_fn()
343 struct axmap_level *al = &axmap->levels[i]; in axmap_find_first_free() local
348 if (index >= al->map_size) { in axmap_find_first_free()
353 for (j = index; j < al->map_size; j++) { in axmap_find_first_free()
354 if (al->map[j] == -1UL) in axmap_find_first_free()
361 ret = index = (j << UNIT_SHIFT) + ffz(al->map[j]); in axmap_find_first_free()
387 static int axmap_next_free_fn(struct axmap_level *al, unsigned long offset, in axmap_next_free_fn() argument
393 if (!(mask & ~al->map[offset])) in axmap_next_free_fn()
396 if (al->map[offset] != -1UL) { in axmap_next_free_fn()
397 data->level = al->level; in axmap_next_free_fn()