Lines Matching full:end
34 * end addresses to successive cp15 registers, and process every
36 * [start:end].
73 static inline void l2_clean_pa_range(unsigned long start, unsigned long end) in l2_clean_pa_range() argument
78 * Make sure 'start' and 'end' reference the same page, as in l2_clean_pa_range()
82 BUG_ON((start ^ end) >> PAGE_SHIFT); in l2_clean_pa_range()
85 va_end = va_start + (end - start); in l2_clean_pa_range()
104 static inline void l2_inv_pa_range(unsigned long start, unsigned long end) in l2_inv_pa_range() argument
109 * Make sure 'start' and 'end' reference the same page, as in l2_inv_pa_range()
113 BUG_ON((start ^ end) >> PAGE_SHIFT); in l2_inv_pa_range()
116 va_end = va_start + (end - start); in l2_inv_pa_range()
133 * Note that the end addresses passed to Linux primitives are
135 * inclusive start and end addresses.
142 static unsigned long calc_range_end(unsigned long start, unsigned long end) in calc_range_end() argument
147 BUG_ON(end & (CACHE_LINE_SIZE - 1)); in calc_range_end()
150 * Try to process all cache lines between 'start' and 'end'. in calc_range_end()
152 range_end = end; in calc_range_end()
171 static void feroceon_l2_inv_range(unsigned long start, unsigned long end) in feroceon_l2_inv_range() argument
184 if (start < end && end & (CACHE_LINE_SIZE - 1)) { in feroceon_l2_inv_range()
185 l2_clean_inv_pa(end & ~(CACHE_LINE_SIZE - 1)); in feroceon_l2_inv_range()
186 end &= ~(CACHE_LINE_SIZE - 1); in feroceon_l2_inv_range()
190 * Invalidate all full cache lines between 'start' and 'end'. in feroceon_l2_inv_range()
192 while (start < end) { in feroceon_l2_inv_range()
193 unsigned long range_end = calc_range_end(start, end); in feroceon_l2_inv_range()
201 static void feroceon_l2_clean_range(unsigned long start, unsigned long end) in feroceon_l2_clean_range() argument
209 end = (end + CACHE_LINE_SIZE - 1) & ~(CACHE_LINE_SIZE - 1); in feroceon_l2_clean_range()
210 while (start != end) { in feroceon_l2_clean_range()
211 unsigned long range_end = calc_range_end(start, end); in feroceon_l2_clean_range()
220 static void feroceon_l2_flush_range(unsigned long start, unsigned long end) in feroceon_l2_flush_range() argument
223 end = (end + CACHE_LINE_SIZE - 1) & ~(CACHE_LINE_SIZE - 1); in feroceon_l2_flush_range()
224 while (start != end) { in feroceon_l2_flush_range()
225 unsigned long range_end = calc_range_end(start, end); in feroceon_l2_flush_range()