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; \
385 * 2. The minimum range granularity is decided by 'scale', so multiple range
386 * TLBI operations may be required. Start from scale = 3, flush the largest
387 * possible number of pages ((num+1)*2^(5*scale+1)) that fit into the
388 * requested range, then decrement scale and continue until one or zero pages
389 * are left. We must start from highest scale to ensure 64KB start alignment
402 int scale = 3; \
419 num = __TLBI_RANGE_NUM(__flush_pages, scale); \
422 scale, num, tlb_level); \
426 __flush_start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \
427 __flush_pages -= __TLBI_RANGE_PAGES(num, scale);\
429 scale--; \