Lines Matching refs:pos
639 static int bitmap_pos_to_ord(const unsigned long *buf, unsigned int pos, unsigned int nbits) in bitmap_pos_to_ord() argument
641 if (pos >= nbits || !test_bit(pos, buf)) in bitmap_pos_to_ord()
644 return __bitmap_weight(buf, pos); in bitmap_pos_to_ord()
667 unsigned int pos; in bitmap_ord_to_pos() local
669 for (pos = find_first_bit(buf, nbits); in bitmap_ord_to_pos()
670 pos < nbits && ord; in bitmap_ord_to_pos()
671 pos = find_next_bit(buf, nbits, pos + 1)) in bitmap_ord_to_pos()
674 return pos; in bitmap_ord_to_pos()
947 static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op) in __reg_op() argument
963 index = pos / BITS_PER_LONG; in __reg_op()
964 offset = pos - (index * BITS_PER_LONG); in __reg_op()
1015 unsigned int pos, end; /* scans bitmap by regions of size order */ in bitmap_find_free_region() local
1017 for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { in bitmap_find_free_region()
1018 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_find_free_region()
1020 __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_find_free_region()
1021 return pos; in bitmap_find_free_region()
1038 void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_release_region() argument
1040 __reg_op(bitmap, pos, order, REG_OP_RELEASE); in bitmap_release_region()
1055 int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_allocate_region() argument
1057 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_allocate_region()
1059 return __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_allocate_region()