Lines Matching refs:size
29 #define FIND_FIRST_BIT(FETCH, MUNGE, size) \ argument
31 unsigned long idx, val, sz = (size); \
51 #define FIND_NEXT_BIT(FETCH, MUNGE, size, start) \ argument
53 unsigned long mask, idx, tmp, sz = (size), __start = (start); \
72 #define FIND_NTH_BIT(FETCH, size, num) \ argument
74 unsigned long sz = (size), nr = (num), idx, w, tmp; \
100 unsigned long _find_first_bit(const unsigned long *addr, unsigned long size) in _find_first_bit() argument
102 return FIND_FIRST_BIT(addr[idx], /* nop */, size); in _find_first_bit()
113 unsigned long size) in _find_first_and_bit() argument
115 return FIND_FIRST_BIT(addr1[idx] & addr2[idx], /* nop */, size); in _find_first_and_bit()
125 unsigned long size) in _find_first_andnot_bit() argument
127 return FIND_FIRST_BIT(addr1[idx] & ~addr2[idx], /* nop */, size); in _find_first_andnot_bit()
137 unsigned long size) in _find_first_and_and_bit() argument
139 return FIND_FIRST_BIT(addr1[idx] & addr2[idx] & addr3[idx], /* nop */, size); in _find_first_and_and_bit()
147 unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size) in _find_first_zero_bit() argument
149 return FIND_FIRST_BIT(~addr[idx], /* nop */, size); in _find_first_zero_bit()
162 unsigned long __find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n) in __find_nth_bit() argument
164 return FIND_NTH_BIT(addr[idx], size, n); in __find_nth_bit()
169 unsigned long size, unsigned long n) in __find_nth_and_bit() argument
171 return FIND_NTH_BIT(addr1[idx] & addr2[idx], size, n); in __find_nth_and_bit()
176 unsigned long size, unsigned long n) in __find_nth_andnot_bit() argument
178 return FIND_NTH_BIT(addr1[idx] & ~addr2[idx], size, n); in __find_nth_andnot_bit()
185 unsigned long size, unsigned long n) in __find_nth_and_andnot_bit() argument
187 return FIND_NTH_BIT(addr1[idx] & addr2[idx] & ~addr3[idx], size, n); in __find_nth_and_andnot_bit()
228 unsigned long _find_last_bit(const unsigned long *addr, unsigned long size) in _find_last_bit() argument
230 if (size) { in _find_last_bit()
231 unsigned long val = BITMAP_LAST_WORD_MASK(size); in _find_last_bit()
232 unsigned long idx = (size-1) / BITS_PER_LONG; in _find_last_bit()
242 return size; in _find_last_bit()
248 unsigned long size, unsigned long offset) in find_next_clump8() argument
250 offset = find_next_bit(addr, size, offset); in find_next_clump8()
251 if (offset == size) in find_next_clump8()
252 return size; in find_next_clump8()
267 unsigned long _find_first_zero_bit_le(const unsigned long *addr, unsigned long size) in _find_first_zero_bit_le() argument
269 return FIND_FIRST_BIT(~addr[idx], swab, size); in _find_first_zero_bit_le()
277 unsigned long size, unsigned long offset) in _find_next_zero_bit_le() argument
279 return FIND_NEXT_BIT(~addr[idx], swab, size, offset); in _find_next_zero_bit_le()
286 unsigned long size, unsigned long offset) in _find_next_bit_le() argument
288 return FIND_NEXT_BIT(addr[idx], swab, size, offset); in _find_next_bit_le()
303 unsigned long find_random_bit(const unsigned long *addr, unsigned long size) in find_random_bit() argument
305 int w = bitmap_weight(addr, size); in find_random_bit()
309 return size; in find_random_bit()
312 return find_first_bit(addr, size); in find_random_bit()
314 return find_nth_bit(addr, size, get_random_u32_below(w)); in find_random_bit()