Lines Matching refs:pos
628 static int bitmap_pos_to_ord(const unsigned long *buf, unsigned int pos, unsigned int nbits) in bitmap_pos_to_ord() argument
630 if (pos >= nbits || !test_bit(pos, buf)) in bitmap_pos_to_ord()
633 return __bitmap_weight(buf, pos); in bitmap_pos_to_ord()
656 unsigned int pos; in bitmap_ord_to_pos() local
658 for (pos = find_first_bit(buf, nbits); in bitmap_ord_to_pos()
659 pos < nbits && ord; in bitmap_ord_to_pos()
660 pos = find_next_bit(buf, nbits, pos + 1)) in bitmap_ord_to_pos()
663 return pos; in bitmap_ord_to_pos()
936 static int __reg_op(unsigned long *bitmap, unsigned int pos, int order, int reg_op) in __reg_op() argument
952 index = pos / BITS_PER_LONG; in __reg_op()
953 offset = pos - (index * BITS_PER_LONG); in __reg_op()
1004 unsigned int pos, end; /* scans bitmap by regions of size order */ in bitmap_find_free_region() local
1006 for (pos = 0 ; (end = pos + (1U << order)) <= bits; pos = end) { in bitmap_find_free_region()
1007 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_find_free_region()
1009 __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_find_free_region()
1010 return pos; in bitmap_find_free_region()
1027 void bitmap_release_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_release_region() argument
1029 __reg_op(bitmap, pos, order, REG_OP_RELEASE); in bitmap_release_region()
1044 int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order) in bitmap_allocate_region() argument
1046 if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE)) in bitmap_allocate_region()
1048 return __reg_op(bitmap, pos, order, REG_OP_ALLOC); in bitmap_allocate_region()