Lines Matching refs:start

183 static void __l2c210_op_pa_range(void __iomem *reg, unsigned long start,  in __l2c210_op_pa_range()  argument
186 while (start < end) { in __l2c210_op_pa_range()
187 writel_relaxed(start, reg); in __l2c210_op_pa_range()
188 start += CACHE_LINE_SIZE; in __l2c210_op_pa_range()
192 static void l2c210_inv_range(unsigned long start, unsigned long end) in l2c210_inv_range() argument
196 if (start & (CACHE_LINE_SIZE - 1)) { in l2c210_inv_range()
197 start &= ~(CACHE_LINE_SIZE - 1); in l2c210_inv_range()
198 writel_relaxed(start, base + L2X0_CLEAN_INV_LINE_PA); in l2c210_inv_range()
199 start += CACHE_LINE_SIZE; in l2c210_inv_range()
207 __l2c210_op_pa_range(base + L2X0_INV_LINE_PA, start, end); in l2c210_inv_range()
211 static void l2c210_clean_range(unsigned long start, unsigned long end) in l2c210_clean_range() argument
215 start &= ~(CACHE_LINE_SIZE - 1); in l2c210_clean_range()
216 __l2c210_op_pa_range(base + L2X0_CLEAN_LINE_PA, start, end); in l2c210_clean_range()
220 static void l2c210_flush_range(unsigned long start, unsigned long end) in l2c210_flush_range() argument
224 start &= ~(CACHE_LINE_SIZE - 1); in l2c210_flush_range()
225 __l2c210_op_pa_range(base + L2X0_CLEAN_INV_LINE_PA, start, end); in l2c210_flush_range()
289 static unsigned long l2c220_op_pa_range(void __iomem *reg, unsigned long start, in l2c220_op_pa_range() argument
294 while (start < end) { in l2c220_op_pa_range()
295 unsigned long blk_end = start + min(end - start, 4096UL); in l2c220_op_pa_range()
297 while (start < blk_end) { in l2c220_op_pa_range()
299 writel_relaxed(start, reg); in l2c220_op_pa_range()
300 start += CACHE_LINE_SIZE; in l2c220_op_pa_range()
312 static void l2c220_inv_range(unsigned long start, unsigned long end) in l2c220_inv_range() argument
318 if ((start | end) & (CACHE_LINE_SIZE - 1)) { in l2c220_inv_range()
319 if (start & (CACHE_LINE_SIZE - 1)) { in l2c220_inv_range()
320 start &= ~(CACHE_LINE_SIZE - 1); in l2c220_inv_range()
321 writel_relaxed(start, base + L2X0_CLEAN_INV_LINE_PA); in l2c220_inv_range()
322 start += CACHE_LINE_SIZE; in l2c220_inv_range()
333 start, end, flags); in l2c220_inv_range()
339 static void l2c220_clean_range(unsigned long start, unsigned long end) in l2c220_clean_range() argument
344 start &= ~(CACHE_LINE_SIZE - 1); in l2c220_clean_range()
345 if ((end - start) >= l2x0_size) { in l2c220_clean_range()
352 start, end, flags); in l2c220_clean_range()
358 static void l2c220_flush_range(unsigned long start, unsigned long end) in l2c220_flush_range() argument
363 start &= ~(CACHE_LINE_SIZE - 1); in l2c220_flush_range()
364 if ((end - start) >= l2x0_size) { in l2c220_flush_range()
371 start, end, flags); in l2c220_flush_range()
472 static void l2c310_inv_range_erratum(unsigned long start, unsigned long end) in l2c310_inv_range_erratum() argument
476 if ((start | end) & (CACHE_LINE_SIZE - 1)) { in l2c310_inv_range_erratum()
483 if (start & (CACHE_LINE_SIZE - 1)) { in l2c310_inv_range_erratum()
484 start &= ~(CACHE_LINE_SIZE - 1); in l2c310_inv_range_erratum()
485 writel_relaxed(start, base + L2X0_CLEAN_LINE_PA); in l2c310_inv_range_erratum()
486 writel_relaxed(start, base + L2X0_INV_LINE_PA); in l2c310_inv_range_erratum()
487 start += CACHE_LINE_SIZE; in l2c310_inv_range_erratum()
500 __l2c210_op_pa_range(base + L2X0_INV_LINE_PA, start, end); in l2c310_inv_range_erratum()
504 static void l2c310_flush_range_erratum(unsigned long start, unsigned long end) in l2c310_flush_range_erratum() argument
511 while (start < end) { in l2c310_flush_range_erratum()
512 unsigned long blk_end = start + min(end - start, 4096UL); in l2c310_flush_range_erratum()
515 while (start < blk_end) { in l2c310_flush_range_erratum()
516 writel_relaxed(start, base + L2X0_CLEAN_LINE_PA); in l2c310_flush_range_erratum()
517 writel_relaxed(start, base + L2X0_INV_LINE_PA); in l2c310_flush_range_erratum()
518 start += CACHE_LINE_SIZE; in l2c310_flush_range_erratum()
1307 static unsigned long aurora_range_end(unsigned long start, unsigned long end) in aurora_range_end() argument
1314 if (end > start + MAX_RANGE_SIZE) in aurora_range_end()
1315 end = start + MAX_RANGE_SIZE; in aurora_range_end()
1320 if (end > PAGE_ALIGN(start+1)) in aurora_range_end()
1321 end = PAGE_ALIGN(start+1); in aurora_range_end()
1326 static void aurora_pa_range(unsigned long start, unsigned long end, in aurora_pa_range() argument
1336 start &= ~(CACHE_LINE_SIZE - 1); in aurora_pa_range()
1342 while (start < end) { in aurora_pa_range()
1343 range_end = aurora_range_end(start, end); in aurora_pa_range()
1346 writel_relaxed(start, base + AURORA_RANGE_BASE_ADDR_REG); in aurora_pa_range()
1351 start = range_end; in aurora_pa_range()
1354 static void aurora_inv_range(unsigned long start, unsigned long end) in aurora_inv_range() argument
1356 aurora_pa_range(start, end, AURORA_INVAL_RANGE_REG); in aurora_inv_range()
1359 static void aurora_clean_range(unsigned long start, unsigned long end) in aurora_clean_range() argument
1366 aurora_pa_range(start, end, AURORA_CLEAN_RANGE_REG); in aurora_clean_range()
1369 static void aurora_flush_range(unsigned long start, unsigned long end) in aurora_flush_range() argument
1372 aurora_pa_range(start, end, AURORA_INVAL_RANGE_REG); in aurora_flush_range()
1374 aurora_pa_range(start, end, AURORA_FLUSH_RANGE_REG); in aurora_flush_range()
1546 static void bcm_inv_range(unsigned long start, unsigned long end) in bcm_inv_range() argument
1550 BUG_ON(start < BCM_SYS_EMI_START_ADDR); in bcm_inv_range()
1552 if (unlikely(end <= start)) in bcm_inv_range()
1555 new_start = bcm_l2_phys_addr(start); in bcm_inv_range()
1559 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) { in bcm_inv_range()
1573 static void bcm_clean_range(unsigned long start, unsigned long end) in bcm_clean_range() argument
1577 BUG_ON(start < BCM_SYS_EMI_START_ADDR); in bcm_clean_range()
1579 if (unlikely(end <= start)) in bcm_clean_range()
1582 new_start = bcm_l2_phys_addr(start); in bcm_clean_range()
1586 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) { in bcm_clean_range()
1600 static void bcm_flush_range(unsigned long start, unsigned long end) in bcm_flush_range() argument
1604 BUG_ON(start < BCM_SYS_EMI_START_ADDR); in bcm_flush_range()
1606 if (unlikely(end <= start)) in bcm_flush_range()
1609 if ((end - start) >= l2x0_size) { in bcm_flush_range()
1614 new_start = bcm_l2_phys_addr(start); in bcm_flush_range()
1618 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) { in bcm_flush_range()
1715 l2x0_base = ioremap(res.start, resource_size(&res)); in l2x0_of_init()
1719 l2x0_saved_regs.phy_base = res.start; in l2x0_of_init()