Lines Matching full:scale
129 * | ASID | TG | SCALE | NUM | TTL | BADDR |
134 * [BADDR, BADDR + (NUM + 1) * 2^(5*SCALE + 1) * PAGESIZE)
137 #define __TLBI_VADDR_RANGE(addr, asid, scale, num, ttl) \ argument
143 __ta |= (unsigned long)(scale) << 44; \
150 #define __TLBI_RANGE_PAGES(num, scale) \ argument
151 ((unsigned long)((num) + 1) << (5 * (scale) + 1))
161 #define __TLBI_RANGE_NUM(pages, scale) \ argument
164 __TLBI_RANGE_PAGES(31, (scale))); \
165 (__pages >> (5 * (scale) + 1)) - 1; \
361 * 1. The minimum range granularity is decided by 'scale', so multiple range
362 * TLBI operations may be required. Start from scale = 3, flush the largest
363 * possible number of pages ((num+1)*2^(5*scale+1)) that fit into the
364 * requested range, then decrement scale and continue until one or zero pages
376 int scale = 3; \
391 num = __TLBI_RANGE_NUM(__flush_pages, scale); \
394 scale, num, tlb_level); \
398 __flush_start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \
399 __flush_pages -= __TLBI_RANGE_PAGES(num, scale);\
401 scale--; \