Lines Matching refs:pos
638 static int bitmap_pos_to_ord(const unsigned long *buf, unsigned int pos, unsigned int nbits) in bitmap_pos_to_ord() argument
640 if (pos >= nbits || !test_bit(pos, buf)) in bitmap_pos_to_ord()
643 return __bitmap_weight(buf, pos); in bitmap_pos_to_ord()
666 unsigned int pos; in bitmap_ord_to_pos() local
668 for (pos = find_first_bit(buf, nbits); in bitmap_ord_to_pos()
669 pos < nbits && ord; in bitmap_ord_to_pos()
670 pos = find_next_bit(buf, nbits, pos + 1)) in bitmap_ord_to_pos()
673 return pos; in bitmap_ord_to_pos()
946 static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op) in __reg_op() argument
962 index = pos / BITS_PER_LONG; in __reg_op()
963 offset = pos - (index * BITS_PER_LONG); in __reg_op()
1014 unsigned int pos, end; /* scans bitmap by regions of size order */ in bitmap_find_free_region() local
1016 for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { in bitmap_find_free_region()
1017 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_find_free_region()
1019 __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_find_free_region()
1020 return pos; in bitmap_find_free_region()
1037 void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_release_region() argument
1039 __reg_op(bitmap, pos, order, REG_OP_RELEASE); in bitmap_release_region()
1054 int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_allocate_region() argument
1056 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_allocate_region()
1058 return __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_allocate_region()