Lines Matching defs:pages
159 #define __TLBI_RANGE_NUM(pages, scale) \
160 ((((pages) >> (5 * (scale) + 1)) & TLBI_RANGE_MASK) - 1)
199 * unmapping pages from vmalloc/io space.
318 * To support TLB batched flush for multiple pages unmapping, we only send
343 * @pages: Range as the number of pages from 'start'
354 * 1. If 'pages' is odd, flush the first page through non-range
357 * 2. For remaining pages: the minimum range granularity is decided
359 * Start from scale = 0, flush the corresponding number of pages
361 * until no pages left.
367 #define __flush_tlb_range_op(op, start, pages, stride, \
374 while (pages > 0) { \
376 pages % 2 == 1) { \
382 pages -= stride >> PAGE_SHIFT; \
386 num = __TLBI_RANGE_NUM(pages, scale); \
394 pages -= __TLBI_RANGE_PAGES(num, scale); \
400 #define __flush_s2_tlb_range_op(op, start, pages, stride, tlb_level) \
401 __flush_tlb_range_op(op, start, pages, stride, 0, tlb_level, false)
408 unsigned long asid, pages;
412 pages = (end - start) >> PAGE_SHIFT;
416 * (MAX_TLBI_OPS - 1) pages;
418 * (MAX_TLBI_RANGE_PAGES - 1) pages.
422 pages >= MAX_TLBI_RANGE_PAGES) {
431 __flush_tlb_range_op(vale1is, start, pages, stride, asid, tlb_level, true);
433 __flush_tlb_range_op(vae1is, start, pages, stride, asid, tlb_level, true);