Lines Matching refs:bit
199 unsigned long bit, i, flags; in airq_iv_alloc() local
204 bit = find_first_bit_inv(iv->avail, iv->bits); in airq_iv_alloc()
205 while (bit + num <= iv->bits) { in airq_iv_alloc()
207 if (!test_bit_inv(bit + i, iv->avail)) in airq_iv_alloc()
212 clear_bit_inv(bit + i, iv->avail); in airq_iv_alloc()
213 if (bit + num >= iv->end) in airq_iv_alloc()
214 iv->end = bit + num + 1; in airq_iv_alloc()
217 bit = find_next_bit_inv(iv->avail, iv->bits, bit + i + 1); in airq_iv_alloc()
219 if (bit + num > iv->bits) in airq_iv_alloc()
220 bit = -1UL; in airq_iv_alloc()
222 return bit; in airq_iv_alloc()
232 void airq_iv_free(struct airq_iv *iv, unsigned long bit, unsigned long num) in airq_iv_free() argument
241 clear_bit_inv(bit + i, iv->vector); in airq_iv_free()
243 set_bit_inv(bit + i, iv->avail); in airq_iv_free()
245 if (bit + num >= iv->end) { in airq_iv_free()
266 unsigned long bit; in airq_iv_scan() local
269 bit = find_next_bit_inv(iv->vector, end, start); in airq_iv_scan()
270 if (bit >= end) in airq_iv_scan()
272 clear_bit_inv(bit, iv->vector); in airq_iv_scan()
273 return bit; in airq_iv_scan()