Lines Matching refs:start
73 static inline void l2_clean_pa_range(unsigned long start, unsigned long end) in l2_clean_pa_range() argument
82 BUG_ON((start ^ end) >> PAGE_SHIFT); in l2_clean_pa_range()
84 va_start = l2_get_va(start); 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
113 BUG_ON((start ^ end) >> PAGE_SHIFT); in l2_inv_pa_range()
115 va_start = l2_get_va(start); in l2_inv_pa_range()
116 va_end = va_start + (end - start); in l2_inv_pa_range()
142 static unsigned long calc_range_end(unsigned long start, unsigned long end) in calc_range_end() argument
146 BUG_ON(start & (CACHE_LINE_SIZE - 1)); in calc_range_end()
159 if (range_end > start + MAX_RANGE_SIZE) in calc_range_end()
160 range_end = start + MAX_RANGE_SIZE; in calc_range_end()
165 if (range_end > (start | (PAGE_SIZE - 1)) + 1) in calc_range_end()
166 range_end = (start | (PAGE_SIZE - 1)) + 1; in calc_range_end()
171 static void feroceon_l2_inv_range(unsigned long start, unsigned long end) in feroceon_l2_inv_range() argument
176 if (start & (CACHE_LINE_SIZE - 1)) { in feroceon_l2_inv_range()
177 l2_clean_inv_pa(start & ~(CACHE_LINE_SIZE - 1)); in feroceon_l2_inv_range()
178 start = (start | (CACHE_LINE_SIZE - 1)) + 1; in feroceon_l2_inv_range()
184 if (start < end && end & (CACHE_LINE_SIZE - 1)) { 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()
194 l2_inv_pa_range(start, range_end - CACHE_LINE_SIZE); in feroceon_l2_inv_range()
195 start = range_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
208 start &= ~(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()
212 l2_clean_pa_range(start, range_end - CACHE_LINE_SIZE); in feroceon_l2_clean_range()
213 start = range_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
222 start &= ~(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()
227 l2_clean_pa_range(start, range_end - CACHE_LINE_SIZE); in feroceon_l2_flush_range()
228 l2_inv_pa_range(start, range_end - CACHE_LINE_SIZE); in feroceon_l2_flush_range()
229 start = range_end; in feroceon_l2_flush_range()