Lines Matching full:scale
132 * | ASID | TG | SCALE | NUM | TTL | BADDR |
137 * 2^(5*SCALE + 1) * PAGESIZE)
152 #define __TLBI_VADDR_RANGE(baddr, asid, scale, num, ttl) \ argument
159 __ta |= FIELD_PREP(TLBIR_SCALE_MASK, scale); \
166 #define __TLBI_RANGE_PAGES(num, scale) \ argument
167 ((unsigned long)((num) + 1) << (5 * (scale) + 1))
177 #define __TLBI_RANGE_NUM(pages, scale) \ argument
180 __TLBI_RANGE_PAGES(31, (scale))); \
181 (__pages >> (5 * (scale) + 1)) - 1; \
368 * 2. The minimum range granularity is decided by 'scale', so multiple range
369 * TLBI operations may be required. Start from scale = 3, flush the largest
370 * possible number of pages ((num+1)*2^(5*scale+1)) that fit into the
371 * requested range, then decrement scale and continue until one or zero pages
372 * are left. We must start from highest scale to ensure 64KB start alignment
385 int scale = 3; \
402 num = __TLBI_RANGE_NUM(__flush_pages, scale); \
405 scale, num, tlb_level); \
409 __flush_start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \
410 __flush_pages -= __TLBI_RANGE_PAGES(num, scale);\
412 scale--; \