| /linux/lib/ |
| H A D | maple_tree.c | 186 static unsigned int mas_mt_height(struct ma_state *mas) in mas_mt_height() argument 188 return mt_height(mas->tree); in mas_mt_height() 228 static __always_inline void mas_set_err(struct ma_state *mas, long err) in mas_set_err() argument 230 mas->node = MA_ERROR(err); in mas_set_err() 231 mas->status = ma_error; in mas_set_err() 234 static __always_inline bool mas_is_ptr(const struct ma_state *mas) in mas_is_ptr() argument 236 return mas->status == ma_root; in mas_is_ptr() 239 static __always_inline bool mas_is_start(const struct ma_state *mas) in mas_is_start() argument 241 return mas->status == ma_start; in mas_is_start() 244 static __always_inline bool mas_is_none(const struct ma_state *mas) in mas_is_none() argument [all …]
|
| H A D | test_maple_tree.c | 22 #define mas_dump(mas) do {} while (0) argument 23 #define mas_wr_dump(mas) do {} while (0) argument 352 MA_STATE(mas, mt, 0, 0); in check_rev_find() 359 mas_set(&mas, 1000); in check_rev_find() 360 val = mas_find_rev(&mas, 1000); in check_rev_find() 362 val = mas_find_rev(&mas, 1000); in check_rev_find() 365 mas_set(&mas, 999); in check_rev_find() 366 val = mas_find_rev(&mas, 997); in check_rev_find() 369 mas_set(&mas, 1000); in check_rev_find() 370 val = mas_find_rev(&mas, 900); in check_rev_find() [all …]
|
| H A D | interval_tree_test.c | 202 static void mas_cur_span(struct ma_state *mas, struct interval_tree_span_iter *state) in mas_cur_span() argument 208 if (mas->status == ma_overflow) in mas_cur_span() 212 state->is_hole = mas_walk(mas) ? 0 : 1; in mas_cur_span() 214 cur_start = mas->index < state->first_index ? in mas_cur_span() 215 state->first_index : mas->index; in mas_cur_span() 220 cur_last = mas->last > state->last_index ? in mas_cur_span() 221 state->last_index : mas->last; in mas_cur_span() 223 is_hole = mas_next_range(mas, state->last_index) ? 0 : 1; in mas_cur_span() 225 } while (mas->status != ma_overflow && is_hole == state->is_hole); in mas_cur_span() 236 if (mas->status != ma_overflow) in mas_cur_span() [all …]
|
| /linux/drivers/spi/ |
| H A D | spi-geni-qcom.c | 107 static void spi_slv_setup(struct spi_geni_master *mas) in spi_slv_setup() argument 109 struct geni_se *se = &mas->se; in spi_slv_setup() 114 dev_dbg(mas->dev, "spi slave setup done\n"); in spi_slv_setup() 118 struct spi_geni_master *mas, in get_spi_clk_cfg() argument 126 ret = geni_se_clk_freq_match(&mas->se, in get_spi_clk_cfg() 127 speed_hz * mas->oversampling, in get_spi_clk_cfg() 130 dev_err(mas->dev, "Failed(%d) to find src clk for %dHz\n", in get_spi_clk_cfg() 135 *clk_div = DIV_ROUND_UP(sclk_freq, mas->oversampling * speed_hz); in get_spi_clk_cfg() 136 actual_hz = sclk_freq / (mas->oversampling * *clk_div); in get_spi_clk_cfg() 138 dev_dbg(mas->dev, "req %u=>%u sclk %lu, idx %d, div %d\n", speed_hz, in get_spi_clk_cfg() [all …]
|
| /linux/drivers/base/regmap/ |
| H A D | regcache-maple.c | 20 MA_STATE(mas, mt, reg, reg); in regcache_maple_read() 25 entry = mas_walk(&mas); in regcache_maple_read() 31 *value = entry[reg - mas.index]; in regcache_maple_read() 42 MA_STATE(mas, mt, reg, reg); in regcache_maple_write() 50 entry = mas_walk(&mas); in regcache_maple_write() 52 entry[reg - mas.index] = val; in regcache_maple_write() 58 mas_set_range(&mas, reg - 1, reg + 1); in regcache_maple_write() 62 lower = mas_find(&mas, reg - 1); in regcache_maple_write() 64 index = mas.index; in regcache_maple_write() 65 lower_sz = (mas.last - mas.index + 1) * sizeof(unsigned long); in regcache_maple_write() [all …]
|
| /linux/include/linux/ |
| H A D | maple_tree.h | 306 #define mtree_lock_nested(mas, subclass) \ argument 491 struct ma_state *mas; member 506 #define mas_lock(mas) spin_lock(&((mas)->tree->ma_lock)) argument 507 #define mas_lock_nested(mas, subclass) \ argument 508 spin_lock_nested(&((mas)->tree->ma_lock), subclass) 509 #define mas_unlock(mas) spin_unlock(&((mas)->tree->ma_lock)) argument 541 .mas = ma_state, \ 555 void *mas_walk(struct ma_state *mas); 556 void *mas_store(struct ma_state *mas, void *entry); 557 void *mas_erase(struct ma_state *mas); [all …]
|
| H A D | mm.h | 1587 return mas_find(&vmi->mas, max - 1); in vma_find() 1596 return mas_find(&vmi->mas, ULONG_MAX); in vma_next() 1602 return mas_next_range(&vmi->mas, ULONG_MAX); in vma_iter_next_range() 1608 return mas_prev(&vmi->mas, 0); in vma_prev() 1614 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp() 1615 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 1616 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp() 1625 mas_destroy(&vmi->mas); in vma_iter_free() 1631 vmi->mas.index = vma->vm_start; in vma_iter_bulk_store() 1632 vmi->mas.last = vma->vm_end - 1; in vma_iter_bulk_store() [all …]
|
| /linux/include/trace/events/ |
| H A D | maple_tree.h | 15 TP_PROTO(const char *fn, struct ma_state *mas), 17 TP_ARGS(fn, mas), 30 __entry->min = mas->min; 31 __entry->max = mas->max; 32 __entry->index = mas->index; 33 __entry->last = mas->last; 34 __entry->node = mas->node; 48 TP_PROTO(const char *fn, struct ma_state *mas), 50 TP_ARGS(fn, mas), 63 __entry->min = mas->min; [all …]
|
| /linux/tools/testing/radix-tree/ |
| H A D | maple.c | 415 static inline void mas_node_walk(struct ma_state *mas, struct maple_node *node, in mas_node_walk() argument 427 (*range_max) = (*range_min) = mas->index; in mas_node_walk() 431 mas->offset = mas->index = mas->min; in mas_node_walk() 441 prev = mas->min; in mas_node_walk() 442 index = mas->index; in mas_node_walk() 461 max = mas->max; in mas_node_walk() 465 mas->offset = offset; in mas_node_walk() 470 mas->max = max; in mas_node_walk() 471 mas->min = prev; in mas_node_walk() 487 static inline bool mas_descend_walk(struct ma_state *mas, in mas_descend_walk() argument [all …]
|
| /linux/scripts/gdb/linux/ |
| H A D | mapletree.py | 198 def mtree_lookup_walk(mas): argument 200 n = mas.node 209 if pivots[offset] >= mas.index: 216 n = mt_slot(mas.tree, slots, offset) 218 mas.reset() 230 mas = Mas(mt, index, index) 234 entry = mas.start() 235 if mas.is_none(): 238 if mas.is_ptr(): 243 entry = mtree_lookup_walk(mas) [all …]
|
| /linux/tools/testing/vma/include/ |
| H A D | dup.h | 420 struct ma_state mas; member 425 .mas = { \ 784 mas_pause(&vmi->mas); in vma_iter_invalidate() 1176 return mas_find(&vmi->mas, ULONG_MAX); in vma_next() 1268 return mas_find(&vmi->mas, max - 1); in vma_find() 1274 __mas_set_range(&vmi->mas, start, end - 1); in vma_iter_clear_gfp() 1275 mas_store_gfp(&vmi->mas, NULL, gfp); in vma_iter_clear_gfp() 1276 if (unlikely(mas_is_err(&vmi->mas))) in vma_iter_clear_gfp() 1357 mas_init(&vmi->mas, &mm->mm_mt, addr); in vma_iter_init() 1379 return mas_prev(&vmi->mas, 0); in vma_prev() [all …]
|
| /linux/drivers/iommu/generic_pt/ |
| H A D | kunit_iommu_pt.h | 290 MA_STATE(mas, mt, start, last); in unmap_collisions() 294 mas_for_each(&mas, entry, last) { in unmap_collisions() 295 pt_vaddr_t mas_start = mas.index; in unmap_collisions() 296 pt_vaddr_t len = (mas.last - mas_start) + 1; in unmap_collisions() 299 mas_erase(&mas); in unmap_collisions() 300 mas_pause(&mas); in unmap_collisions()
|
| /linux/kernel/irq/ |
| H A D | irqdesc.c | 177 MA_STATE(mas, &sparse_irqs, 0, 0); in irq_find_free_area() 179 if (mas_empty_area(&mas, from, MAX_SPARSE_IRQS, cnt)) in irq_find_free_area() 181 return mas.index; in irq_find_free_area() 197 MA_STATE(mas, &sparse_irqs, irq, irq); in irq_insert_desc() 198 WARN_ON(mas_store_gfp(&mas, desc, GFP_KERNEL) != 0); in irq_insert_desc() 203 MA_STATE(mas, &sparse_irqs, irq, irq); in delete_irq_desc() 204 mas_erase(&mas); in delete_irq_desc()
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_uvmm.c | 286 MA_STATE(mas, &uvmm->region_mt, addr, addr); in __nouveau_uvma_region_insert() 288 if (unlikely(mas_walk(&mas))) in __nouveau_uvma_region_insert() 291 if (unlikely(mas.last < last)) in __nouveau_uvma_region_insert() 294 mas.index = addr; in __nouveau_uvma_region_insert() 295 mas.last = last; in __nouveau_uvma_region_insert() 297 mas_store_gfp(&mas, reg, GFP_KERNEL); in __nouveau_uvma_region_insert() 326 MA_STATE(mas, &uvmm->region_mt, reg->va.addr, 0); in nouveau_uvma_region_remove() 328 mas_erase(&mas); in nouveau_uvma_region_remove() 366 MA_STATE(mas, &uvmm->region_mt, addr, 0); in nouveau_uvma_region_find_first() 368 return mas_find(&mas, addr + range - 1); in nouveau_uvma_region_find_first() [all …]
|
| H 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/ |
| H 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/mm/ |
| H A D | debug.c | 359 mas_dump(&vmi->mas); in vma_iter_dump_tree() 360 mt_dump(vmi->mas.tree, mt_dump_hex); in vma_iter_dump_tree()
|
| H A D | vma.c | 489 mas_set(unmap->mas, unmap->tree_reset); in unmap_region() 1279 .mas = mas_detach, in vms_clear_ptes() 1589 mt_init_flags(&mt_detach, vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); in do_vmi_align_munmap() 2371 struct ma_state *mas = &vms->vmi->mas; in vms_abort_munmap_vmas() local 2384 mas_set_range(mas, vms->start, vms->end - 1); in vms_abort_munmap_vmas() 2385 mas_store_gfp(mas, NULL, GFP_KERNEL|__GFP_NOFAIL); in vms_abort_munmap_vmas() 2435 vmi->mas.tree->ma_flags & MT_FLAGS_LOCK_MASK); in __mmap_setup()
|
| H A D | memory.c | 376 struct ma_state *mas = unmap->mas; in free_pgtables() local 393 next = mas_find(mas, unmap->tree_end - 1); in free_pgtables() 411 next = mas_find(mas, unmap->tree_end - 1); in free_pgtables() 2180 vma = mas_find(unmap->mas, unmap->tree_end - 1); in unmap_vmas()
|
| /linux/tools/testing/vma/ |
| H A D | shared.h | 62 (fail_prealloc ? -ENOMEM : mas_preallocate(&(vmi)->mas, (vma), GFP_KERNEL))
|
| /linux/drivers/block/ |
| H A D | ublk_drv.c | 5317 MA_STATE(mas, &ub->buf_tree, 0, ULONG_MAX); in ublk_buf_erase_ranges() 5320 mas_lock(&mas); in ublk_buf_erase_ranges() 5321 mas_for_each(&mas, range, ULONG_MAX) { in ublk_buf_erase_ranges() 5323 mas_erase(&mas); in ublk_buf_erase_ranges() 5327 mas_unlock(&mas); in ublk_buf_erase_ranges() 5487 MA_STATE(mas, &ub->buf_tree, 0, ULONG_MAX); in __ublk_shmem_remove_ranges() 5497 mas_lock(&mas); in __ublk_shmem_remove_ranges() 5498 mas_for_each(&mas, range, ULONG_MAX) { in __ublk_shmem_remove_ranges() 5505 nr = mas.last - mas.index + 1; in __ublk_shmem_remove_ranges() 5506 if (xa_err(xa_store(&to_unpin, mas.index, in __ublk_shmem_remove_ranges() [all …]
|
| /linux/drivers/media/pci/saa7164/ |
| H 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/tools/power/cpupower/po/ |
| H A D | pt.po | 639 "- Tentando setar uma frequência específica, mas o regulador em nível de "
|
| /linux/Documentation/translations/sp_SP/process/ |
| H A D | handling-regressions.rst | 159 * Cambiar a un kernel nuevo o mas antiguo -- rebajarse a una versión
|
| /linux/Documentation/translations/sp_SP/ |
| H A D | memory-barriers.txt | 1940 máquinas virtuales" mas adelante.
|