Home | History | Annotate | Download | only in linux

Lines Matching refs:bitmap

81 wait_bit_hash(const volatile unsigned long *bitmap, unsigned bit)
84 const volatile unsigned long *word = bitmap + bit/(NBBY*sizeof(*word));
91 wait_bit_enter(const volatile unsigned long *bitmap, unsigned bit)
93 struct waitbitentry *wbe = &waitbittab[wait_bit_hash(bitmap, bit)].ent;
108 * clear_and_wake_up_bit(bit, bitmap)
110 * Clear the specified bit in the bitmap and wake any waiters in
115 clear_and_wake_up_bit(int bit, volatile unsigned long *bitmap)
119 wbe = wait_bit_enter(bitmap, bit);
120 clear_bit(bit, bitmap);
126 * wait_on_bit(bitmap, bit, flags)
128 * Wait for the specified bit in bitmap to be cleared. Returns 0
133 wait_on_bit(const volatile unsigned long *bitmap, unsigned bit, int flags)
138 if (test_bit(bit, bitmap) == 0)
141 wbe = wait_bit_enter(bitmap, bit);
143 while (test_bit(bit, bitmap)) {
159 KASSERT(test_bit(bit, bitmap) == 0);
162 out: KASSERT(test_bit(bit, bitmap) == 0 || ret != 0);
168 * wait_on_bit_timeout(bitmap, bit, flags, timeout)
170 * Wait for the specified bit in bitmap to be cleared. Returns 0
175 wait_on_bit_timeout(const volatile unsigned long *bitmap, unsigned bit,
181 if (test_bit(bit, bitmap) == 0)
184 wbe = wait_bit_enter(bitmap, bit);
186 while (test_bit(bit, bitmap)) {
226 KASSERT(test_bit(bit, bitmap) == 0);
229 out: KASSERT(test_bit(bit, bitmap) == 0 || ret != 0);