Lines Matching refs:scale
137 #define __TLBI_VADDR_RANGE(addr, asid, scale, num, ttl) \
143 __ta |= (unsigned long)(scale) << 44; \
150 #define __TLBI_RANGE_PAGES(num, scale) \
151 ((unsigned long)((num) + 1) << (5 * (scale) + 1))
159 #define __TLBI_RANGE_NUM(pages, scale) \
160 ((((pages) >> (5 * (scale) + 1)) & TLBI_RANGE_MASK) - 1)
358 * by 'scale', so multiple range TLBI operations may be required.
359 * Start from scale = 0, flush the corresponding number of pages
360 * ((num+1)*2^(5*scale+1) starting from 'addr'), then increase it
364 * scale or num = 0 and scale + 1. The loop below favours the latter
371 int scale = 0; \
386 num = __TLBI_RANGE_NUM(pages, scale); \
388 addr = __TLBI_VADDR_RANGE(start, asid, scale, \
393 start += __TLBI_RANGE_PAGES(num, scale) << PAGE_SHIFT; \
394 pages -= __TLBI_RANGE_PAGES(num, scale); \
396 scale++; \