Lines Matching refs:mas

272 #define mtree_lock_nested(mas, subclass) \  argument
455 struct ma_state *mas; member
468 #define mas_lock(mas) spin_lock(&((mas)->tree->ma_lock)) argument
469 #define mas_lock_nested(mas, subclass) \ argument
470 spin_lock_nested(&((mas)->tree->ma_lock), subclass)
471 #define mas_unlock(mas) spin_unlock(&((mas)->tree->ma_lock)) argument
498 .mas = ma_state, \
510 void *mas_walk(struct ma_state *mas);
511 void *mas_store(struct ma_state *mas, void *entry);
512 void *mas_erase(struct ma_state *mas);
513 int mas_store_gfp(struct ma_state *mas, void *entry, gfp_t gfp);
514 void mas_store_prealloc(struct ma_state *mas, void *entry);
515 void *mas_find(struct ma_state *mas, unsigned long max);
516 void *mas_find_range(struct ma_state *mas, unsigned long max);
517 void *mas_find_rev(struct ma_state *mas, unsigned long min);
518 void *mas_find_range_rev(struct ma_state *mas, unsigned long max);
519 int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp);
520 int mas_alloc_cyclic(struct ma_state *mas, unsigned long *startp,
524 bool mas_nomem(struct ma_state *mas, gfp_t gfp);
525 void mas_pause(struct ma_state *mas);
527 void mas_destroy(struct ma_state *mas);
528 int mas_expected_entries(struct ma_state *mas, unsigned long nr_entries);
530 void *mas_prev(struct ma_state *mas, unsigned long min);
531 void *mas_prev_range(struct ma_state *mas, unsigned long max);
532 void *mas_next(struct ma_state *mas, unsigned long max);
533 void *mas_next_range(struct ma_state *mas, unsigned long max);
535 int mas_empty_area(struct ma_state *mas, unsigned long min, unsigned long max,
541 int mas_empty_area_rev(struct ma_state *mas, unsigned long min,
544 static inline void mas_init(struct ma_state *mas, struct maple_tree *tree, in mas_init() argument
547 memset(mas, 0, sizeof(struct ma_state)); in mas_init()
548 mas->tree = tree; in mas_init()
549 mas->index = mas->last = addr; in mas_init()
550 mas->max = ULONG_MAX; in mas_init()
551 mas->status = ma_start; in mas_init()
552 mas->node = NULL; in mas_init()
555 static inline bool mas_is_active(struct ma_state *mas) in mas_is_active() argument
557 return mas->status == ma_active; in mas_is_active()
560 static inline bool mas_is_err(struct ma_state *mas) in mas_is_err() argument
562 return mas->status == ma_error; in mas_is_err()
575 static __always_inline void mas_reset(struct ma_state *mas) in mas_reset() argument
577 mas->status = ma_start; in mas_reset()
578 mas->node = NULL; in mas_reset()
605 void mas_dump(const struct ma_state *mas);
646 mas_dump((__wrmas)->mas); \
647 mt_dump((__wrmas)->mas->tree, mt_dump_hex); \
699 mas_dump((__wrmas)->mas); \
700 mt_dump((__wrmas)->mas->tree, mt_dump_hex); \
729 static inline void __mas_set_range(struct ma_state *mas, unsigned long start, in __mas_set_range() argument
733 MAS_WARN_ON(mas, mas_is_active(mas) && in __mas_set_range()
734 (mas->index > start || mas->last < start)); in __mas_set_range()
735 mas->index = start; in __mas_set_range()
736 mas->last = last; in __mas_set_range()
750 void mas_set_range(struct ma_state *mas, unsigned long start, unsigned long last) in mas_set_range() argument
752 mas_reset(mas); in mas_set_range()
753 __mas_set_range(mas, start, last); in mas_set_range()
765 static inline void mas_set(struct ma_state *mas, unsigned long index) in mas_set() argument
768 mas_set_range(mas, index, index); in mas_set()