Lines Matching refs:bi
115 bitmask_copy(const struct bitmask_head *bi, void *new_idx, uint32_t new_items) in bitmask_copy() argument
121 if (bi->blocks < new_blocks) { in bitmask_copy()
123 if (bi->blocks > 0) in bitmask_copy()
124 memcpy(new_idx, bi->idx, _BLOCKS_TO_SZ(bi->blocks)); in bitmask_copy()
128 for (int i = new_blocks; i < bi->blocks; i++) { in bitmask_copy()
154 bitmask_alloc_idx(struct bitmask_head *bi, uint16_t *pidx) in bitmask_alloc_idx() argument
159 off = bi->free_off; in bitmask_alloc_idx()
160 mask = &bi->idx[off]; in bitmask_alloc_idx()
162 for (i = off; i < bi->blocks; i++, mask++) { in bitmask_alloc_idx()
169 bi->free_off = i; in bitmask_alloc_idx()
174 bi->items_count++; in bitmask_alloc_idx()
186 bitmask_free_idx(struct bitmask_head *bi, uint16_t idx) in bitmask_free_idx() argument
197 if (i >= bi->blocks) in bitmask_free_idx()
200 mask = &bi->idx[i]; in bitmask_free_idx()
207 bi->items_count--; in bitmask_free_idx()
210 if (bi->free_off > i) in bitmask_free_idx()
211 bi->free_off = i; in bitmask_free_idx()