Lines Matching refs:bitnr
214 #define SB_NR_TO_INDEX(sb, bitnr) ((bitnr) >> (sb)->shift) argument
215 #define SB_NR_TO_BIT(sb, bitnr) ((bitnr) & ((1U << (sb)->shift) - 1U)) argument
288 unsigned int bitnr) in __sbitmap_word() argument
290 return &sb->map[SB_NR_TO_INDEX(sb, bitnr)].word; in __sbitmap_word()
295 static inline void sbitmap_set_bit(struct sbitmap *sb, unsigned int bitnr) in sbitmap_set_bit() argument
297 set_bit(SB_NR_TO_BIT(sb, bitnr), __sbitmap_word(sb, bitnr)); in sbitmap_set_bit()
300 static inline void sbitmap_clear_bit(struct sbitmap *sb, unsigned int bitnr) in sbitmap_clear_bit() argument
302 clear_bit(SB_NR_TO_BIT(sb, bitnr), __sbitmap_word(sb, bitnr)); in sbitmap_clear_bit()
311 static inline void sbitmap_deferred_clear_bit(struct sbitmap *sb, unsigned int bitnr) in sbitmap_deferred_clear_bit() argument
313 unsigned long *addr = &sb->map[SB_NR_TO_INDEX(sb, bitnr)].cleared; in sbitmap_deferred_clear_bit()
315 set_bit(SB_NR_TO_BIT(sb, bitnr), addr); in sbitmap_deferred_clear_bit()
322 static inline void sbitmap_put(struct sbitmap *sb, unsigned int bitnr) in sbitmap_put() argument
324 sbitmap_deferred_clear_bit(sb, bitnr); in sbitmap_put()
326 if (likely(sb->alloc_hint && !sb->round_robin && bitnr < sb->depth)) in sbitmap_put()
327 *raw_cpu_ptr(sb->alloc_hint) = bitnr; in sbitmap_put()
330 static inline int sbitmap_test_bit(struct sbitmap *sb, unsigned int bitnr) in sbitmap_test_bit() argument
332 return test_bit(SB_NR_TO_BIT(sb, bitnr), __sbitmap_word(sb, bitnr)); in sbitmap_test_bit()