| /linux/lib/ |
| A D | maple_tree.c | 1020 mas->node = mas_slot(mas, slots, mas->offset); in mas_descend() 2162 MA_STATE(parent, mas->tree, mas->index, mas->last); in mas_next_sibling() 2212 mas->offset = mas->index = mas->min; in mas_wr_node_walk() 2835 MA_STATE(r_mas, mas->tree, mas->index, mas->last); in mas_spanning_rebalance() 2960 MA_STATE(l_mas, mas->tree, mas->index, mas->last); in mas_rebalance() 2961 MA_STATE(r_mas, mas->tree, mas->index, mas->last); in mas_rebalance() 3017 MA_STATE(l_mas, mas->tree, mas->index, mas->last); in mas_destroy_rebalance() 3723 mas = wr_mas->mas; in mas_wr_spanning_store() 4536 mas->last = mas->max; in mas_prev_slot() 5421 if (MAS_WARN_ON(mas, mas->index > mas->last)) in mas_store() [all …]
|
| A D | test_maple_tree.c | 785 pr_debug("Found %lu %lu\n", mas.index, mas.last); in check_alloc_rev_range() 1455 MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); in check_root_expand() 1473 MT_BUG_ON(mt, (mas.index != 0) && (mas.last != 0)); in check_root_expand() 2891 MT_BUG_ON(mt, mas.last != mas.index + size - 1); in check_empty_area_fill() 3198 mas.index = mas.last = 10; in check_state_handling() 3253 mas.index = mas.last = 0; in check_state_handling() 3288 mas.index = mas.last = 0; in check_state_handling() 3475 MAS_BUG_ON(&mas, !mas_is_active(&mas)); in check_state_handling() 3489 MAS_BUG_ON(&mas, !mas_is_active(&mas)); in check_state_handling() 3614 MAS_BUG_ON(&mas, mas.index != location); in alloc_cyclic_testing() [all …]
|
| /linux/drivers/spi/ |
| A D | spi-geni-qcom.c | 498 ret = get_spi_clk_cfg(mas->cur_speed_hz, mas, in setup_gsi_xfer() 574 fifo_size = mas->tx_fifo_depth * mas->fifo_width_bits / mas->cur_bits_per_word; in geni_can_dma() 626 mas->tx = dma_request_chan(mas->dev, "tx"); in spi_geni_grab_gpi_chan() 628 ret = dev_err_probe(mas->dev, PTR_ERR(mas->tx), in spi_geni_grab_gpi_chan() 633 mas->rx = dma_request_chan(mas->dev, "rx"); in spi_geni_grab_gpi_chan() 635 ret = dev_err_probe(mas->dev, PTR_ERR(mas->rx), in spi_geni_grab_gpi_chan() 744 if (mas->fifo_width_bits % mas->cur_bits_per_word) in geni_byte_per_fifo_word() 769 tx_buf = mas->cur_xfer->tx_buf + mas->cur_xfer->len - mas->tx_rem_bytes; in geni_spi_handle_tx() 818 rx_buf = mas->cur_xfer->rx_buf + mas->cur_xfer->len - mas->rx_rem_bytes; in geni_spi_handle_rx() 993 mas->tx_rem_bytes, mas->cur_bits_per_word); in geni_spi_isr() [all …]
|
| /linux/drivers/base/regmap/ |
| A D | regcache-maple.c | 64 index = mas.index; in regcache_maple_write() 65 lower_sz = (mas.last - mas.index + 1) * sizeof(unsigned long); in regcache_maple_write() 70 last = mas.last; in regcache_maple_write() 71 upper_sz = (mas.last - mas.index + 1) * sizeof(unsigned long); in regcache_maple_write() 92 mas_lock(&mas); in regcache_maple_write() 97 mas_unlock(&mas); in regcache_maple_write() 121 mas_lock(&mas); in regcache_maple_drop() 159 mas_lock(&mas); in regcache_maple_drop() 198 mas_pause(mas); in regcache_maple_sync_block() 303 mas_lock(&mas); in regcache_maple_exit() [all …]
|
| /linux/include/linux/ |
| A D | maple_tree.h | 468 #define mas_lock(mas) spin_lock(&((mas)->tree->ma_lock)) argument 471 #define mas_unlock(mas) spin_unlock(&((mas)->tree->ma_lock)) argument 548 mas->tree = tree; in mas_init() 549 mas->index = mas->last = addr; in mas_init() 552 mas->node = NULL; in mas_init() 578 mas->node = NULL; in mas_reset() 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() [all …]
|
| A D | mm.h | 998 return mas_find(&vmi->mas, max - 1); in vma_find() 1019 return mas_prev(&vmi->mas, 0); in vma_prev() 1026 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 1027 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp() 1036 mas_destroy(&vmi->mas); in vma_iter_free() 1042 vmi->mas.index = vma->vm_start; in vma_iter_bulk_store() 1043 vmi->mas.last = vma->vm_end - 1; in vma_iter_bulk_store() 1044 mas_store(&vmi->mas, vma); in vma_iter_bulk_store() 1045 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_bulk_store() 1053 mas_pause(&vmi->mas); in vma_iter_invalidate() [all …]
|
| A D | mm_types.h | 1122 struct ma_state mas; member 1127 .mas = { \ 1138 mas_init(&vmi->mas, &mm->mm_mt, addr); in vma_iter_init()
|
| /linux/include/trace/events/ |
| A D | maple_tree.h | 17 TP_ARGS(fn, mas), 30 __entry->min = mas->min; 31 __entry->max = mas->max; 33 __entry->last = mas->last; 34 __entry->node = mas->node; 50 TP_ARGS(fn, mas), 63 __entry->min = mas->min; 64 __entry->max = mas->max; 85 TP_ARGS(fn, mas, piv, val), 100 __entry->min = mas->min; [all …]
|
| /linux/mm/ |
| A D | vma.h | 157 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store_gfp() 243 struct ma_state *mas = &vms->vmi->mas; in vms_abort_munmap_vmas() local 405 mas_reset(&vmi->mas); in vma_iter_reset() 448 return mas_walk(&vmi->mas); in vma_iter_load() 457 if (MAS_WARN_ON(&vmi->mas, vmi->mas.status != ma_start && in vma_iter_store() 461 vma->vm_end, vmi->mas.index, vmi->mas.last); in vma_iter_store() 463 if (MAS_WARN_ON(&vmi->mas, vmi->mas.status != ma_start && in vma_iter_store() 467 vmi->mas.index, vmi->mas.last); in vma_iter_store() 472 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) in vma_iter_store() 481 return vmi->mas.index; in vma_iter_addr() [all …]
|
| A D | debug.c | 297 mas_dump(&vmi->mas); in vma_iter_dump_tree() 298 mt_dump(vmi->mas.tree, mt_dump_hex); in vma_iter_dump_tree()
|
| A D | vma.c | 344 void unmap_region(struct ma_state *mas, struct vm_area_struct *vma, in unmap_region() argument 353 unmap_vmas(&tlb, mas, vma, vma->vm_start, vma->vm_end, vma->vm_end, in unmap_region() 355 mas_set(mas, vma->vm_end); in unmap_region() 356 free_pgtables(&tlb, mas, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, in unmap_region() 1338 mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); in do_vmi_align_munmap()
|
| A D | mmap.c | 1382 mt_init_flags(&mt_detach, vmi.mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); in __mmap_region() 1564 unmap_region(&vmi.mas, vma, vmg.prev, vmg.next); in __mmap_region() 1923 unmap_vmas(&tlb, &vmi.mas, vma, 0, ULONG_MAX, ULONG_MAX, false); in exit_mmap() 1934 free_pgtables(&tlb, &vmi.mas, vma, FIRST_USER_ADDRESS, in exit_mmap()
|
| A D | memory.c | 364 void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas, in free_pgtables() argument 378 next = mas_find(mas, ceiling - 1); in free_pgtables() 404 next = mas_find(mas, ceiling - 1); in free_pgtables() 1881 void unmap_vmas(struct mmu_gather *tlb, struct ma_state *mas, in unmap_vmas() argument 1903 vma = mas_find(mas, tree_end - 1); in unmap_vmas() 6234 MA_STATE(mas, &mm->mm_mt, address, address); in lock_vma_under_rcu() 6239 vma = mas_walk(&mas); in lock_vma_under_rcu()
|
| A D | internal.h | 384 void free_pgtables(struct mmu_gather *tlb, struct ma_state *mas,
|
| /linux/tools/testing/vma/ |
| A D | vma_internal.h | 145 struct ma_state mas; member 150 .mas = { \ 368 mas_pause(&vmi->mas); in vma_iter_invalidate() 523 return mas_find(&vmi->mas, max - 1); in vma_find() 530 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 556 return mas_prev(&vmi->mas, 0); in vma_prev() 561 mas_set(&vmi->mas, addr); in vma_iter_set() 571 mas_walk(&(vmi)->mas) 669 (void)mas; in unmap_vmas() 682 (void)mas; in free_pgtables() [all …]
|
| /linux/tools/testing/radix-tree/ |
| A D | maple.c | 84 MT_BUG_ON(mas->tree, get_alloc_node_count(mas) != mas->alloc->total); in check_mas_alloc_node_count() 838 mas->offset = mas->index = mas->min; in mas_node_walk() 954 mas->end = mas_data_end(mas); in mas_tree_walk() 977 entry = mas_get_slot(mas, mas->offset); in mas_range_load() 1106 mas.index, mas.last); in check_erase2_testset() 35369 mas->node = mas_get_slot(mas, slot); in mas_dfs_preorder() 35441 mas.index = mas.last = count; in check_dfs_preorder() 36005 if (mas->last - mas->index >= in mas_subtree_max_range() 36051 mas_set(&mas, mas.min); in build_full_tree() 36057 step = mas.last - mas.index; in build_full_tree() [all …]
|
| /linux/mm/damon/tests/ |
| A D | vaddr-kunit.h | 21 MA_STATE(mas, mt, 0, 0); in __link_vmas() 26 mas_lock(&mas); in __link_vmas() 28 mas_set_range(&mas, vmas[i].vm_start, vmas[i].vm_end - 1); in __link_vmas() 29 if (mas_store_gfp(&mas, &vmas[i], GFP_KERNEL)) in __link_vmas() 35 mas_unlock(&mas); in __link_vmas()
|
| /linux/kernel/irq/ |
| A D | irqdesc.c | 153 MA_STATE(mas, &sparse_irqs, 0, 0); in irq_find_free_area() 155 if (mas_empty_area(&mas, from, MAX_SPARSE_IRQS, cnt)) in irq_find_free_area() 157 return mas.index; in irq_find_free_area() 173 MA_STATE(mas, &sparse_irqs, irq, irq); in irq_insert_desc() 174 WARN_ON(mas_store_gfp(&mas, desc, GFP_KERNEL) != 0); in irq_insert_desc() 179 MA_STATE(mas, &sparse_irqs, irq, irq); in delete_irq_desc() 180 mas_erase(&mas); in delete_irq_desc()
|
| /linux/drivers/gpu/drm/nouveau/ |
| A D | nouveau_uvmm.c | 284 if (unlikely(mas_walk(&mas))) in __nouveau_uvma_region_insert() 287 if (unlikely(mas.last < last)) in __nouveau_uvma_region_insert() 290 mas.index = addr; in __nouveau_uvma_region_insert() 291 mas.last = last; in __nouveau_uvma_region_insert() 293 mas_store_gfp(&mas, reg, GFP_KERNEL); in __nouveau_uvma_region_insert() 324 mas_erase(&mas); in nouveau_uvma_region_remove() 362 MA_STATE(mas, &uvmm->region_mt, addr, 0); in nouveau_uvma_region_find_first() 364 return mas_find(&mas, addr + range - 1); in nouveau_uvma_region_find_first() 1893 MA_STATE(mas, &uvmm->region_mt, 0, 0); in nouveau_uvmm_fini() 1919 mas_for_each(&mas, reg, ULONG_MAX) { in nouveau_uvmm_fini() [all …]
|
| A D | nouveau_debugfs.c | 209 MA_STATE(mas, &uvmm->region_mt, 0, 0); in nouveau_debugfs_gpuva_regions() 214 mas_for_each(&mas, reg, ULONG_MAX) in nouveau_debugfs_gpuva_regions()
|
| /linux/Documentation/core-api/ |
| A D | maple_tree.rst | 145 The advanced API is based around the ma_state, this is where the 'mas' 152 The maple state keeps track of the range start and end in mas->index and 153 mas->last, respectively. 155 mas_walk() will walk the tree to the location of mas->index and set the 156 mas->index and mas->last according to the range for the entry.
|
| /linux/drivers/media/i2c/ |
| A D | max9286.c | 749 struct max9286_asd *mas; in max9286_v4l2_notifier_register() local 751 mas = v4l2_async_nf_add_fwnode(&priv->notifier, source->fwnode, in max9286_v4l2_notifier_register() 753 if (IS_ERR(mas)) { in max9286_v4l2_notifier_register() 755 i, PTR_ERR(mas)); in max9286_v4l2_notifier_register() 757 return PTR_ERR(mas); in max9286_v4l2_notifier_register() 760 mas->source = source; in max9286_v4l2_notifier_register()
|
| /linux/drivers/media/pci/saa7164/ |
| A D | saa7164-api.c | 615 u8 mas; in saa7164_api_set_dif() local 621 mas = 0xd0; in saa7164_api_set_dif() 623 mas = 0xe0; in saa7164_api_set_dif() 639 buf[0x0a] = mas; in saa7164_api_set_dif()
|
| /linux/kernel/ |
| A D | fork.c | 662 mt_clear_in_rcu(vmi.mas.tree); in dup_mmap() 758 mt_set_in_rcu(vmi.mas.tree); in dup_mmap() 769 mas_set_range(&vmi.mas, mpnt->vm_start, mpnt->vm_end - 1); in dup_mmap() 770 mas_store(&vmi.mas, XA_ZERO_ENTRY); in dup_mmap()
|
| /linux/fs/ |
| A D | libfs.c | 497 MA_STATE(mas, &octx->mt, offset, offset); in offset_find_next() 501 child = mas_find(&mas, LONG_MAX); in offset_find_next()
|