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; \
360 * 1. The minimum range granularity is decided by 'scale', so multiple range
361 * TLBI operations may be required. Start from scale = 3, flush the largest
362 * possible number of pages ((num+1)*2^(5*scale+1)) that fit into the
363 * requested range, then decrement scale and continue until one or zero pages
373 int scale = 3; \
388 num = __TLBI_RANGE_NUM(pages, scale); \
390 addr = __TLBI_VADDR_RANGE(start, asid, scale, \
395 start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \
396 pages -= __TLBI_RANGE_PAGES(num, scale); \
398 scale--; \