Lines Matching refs:end

179 	unsigned long end)
181 while (start < end) {
187 static void l2c210_inv_range(unsigned long start, unsigned long end)
197 if (end & (CACHE_LINE_SIZE - 1)) {
198 end &= ~(CACHE_LINE_SIZE - 1);
199 writel_relaxed(end, base + L2X0_CLEAN_INV_LINE_PA);
202 __l2c210_op_pa_range(base + L2X0_INV_LINE_PA, start, end);
206 static void l2c210_clean_range(unsigned long start, unsigned long end)
211 __l2c210_op_pa_range(base + L2X0_CLEAN_LINE_PA, start, end);
215 static void l2c210_flush_range(unsigned long start, unsigned long end)
220 __l2c210_op_pa_range(base + L2X0_CLEAN_INV_LINE_PA, start, end);
285 unsigned long end, unsigned long flags)
289 while (start < end) {
290 unsigned long blk_end = start + min(end - start, 4096UL);
298 if (blk_end < end) {
307 static void l2c220_inv_range(unsigned long start, unsigned long end)
313 if ((start | end) & (CACHE_LINE_SIZE - 1)) {
320 if (end & (CACHE_LINE_SIZE - 1)) {
321 end &= ~(CACHE_LINE_SIZE - 1);
323 writel_relaxed(end, base + L2X0_CLEAN_INV_LINE_PA);
328 start, end, flags);
334 static void l2c220_clean_range(unsigned long start, unsigned long end)
340 if ((end - start) >= l2x0_size) {
347 start, end, flags);
353 static void l2c220_flush_range(unsigned long start, unsigned long end)
359 if ((end - start) >= l2x0_size) {
366 start, end, flags);
467 static void l2c310_inv_range_erratum(unsigned long start, unsigned long end)
471 if ((start | end) & (CACHE_LINE_SIZE - 1)) {
485 if (end & (CACHE_LINE_SIZE - 1)) {
486 end &= ~(CACHE_LINE_SIZE - 1);
487 writel_relaxed(end, base + L2X0_CLEAN_LINE_PA);
488 writel_relaxed(end, base + L2X0_INV_LINE_PA);
495 __l2c210_op_pa_range(base + L2X0_INV_LINE_PA, start, end);
499 static void l2c310_flush_range_erratum(unsigned long start, unsigned long end)
506 while (start < end) {
507 unsigned long blk_end = start + min(end - start, 4096UL);
517 if (blk_end < end) {
1352 * Note that the end addresses passed to Linux primitives are
1354 * inclusive start and end addresses.
1356 static unsigned long aurora_range_end(unsigned long start, unsigned long end)
1363 if (end > start + AURORA_MAX_RANGE_SIZE)
1364 end = start + AURORA_MAX_RANGE_SIZE;
1369 if (end > PAGE_ALIGN(start+1))
1370 end = PAGE_ALIGN(start+1);
1372 return end;
1375 static void aurora_pa_range(unsigned long start, unsigned long end,
1383 * round start and end adresses up to cache line size
1386 end = ALIGN(end, CACHE_LINE_SIZE);
1389 * perform operation on all full cache lines between 'start' and 'end'
1391 while (start < end) {
1392 range_end = aurora_range_end(start, end);
1403 static void aurora_inv_range(unsigned long start, unsigned long end)
1405 aurora_pa_range(start, end, AURORA_INVAL_RANGE_REG);
1408 static void aurora_clean_range(unsigned long start, unsigned long end)
1415 aurora_pa_range(start, end, AURORA_CLEAN_RANGE_REG);
1418 static void aurora_flush_range(unsigned long start, unsigned long end)
1421 aurora_pa_range(start, end, AURORA_INVAL_RANGE_REG);
1423 aurora_pa_range(start, end, AURORA_FLUSH_RANGE_REG);
1567 * When the start and end addresses have crossed two different sections, we
1579 * Section 1 and the end address is in Section 3, since it is not a valid use
1607 static void bcm_inv_range(unsigned long start, unsigned long end)
1613 if (unlikely(end <= start))
1617 new_end = bcm_l2_phys_addr(end);
1619 /* normal case, no cross section between start and end */
1620 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) {
1634 static void bcm_clean_range(unsigned long start, unsigned long end)
1640 if (unlikely(end <= start))
1644 new_end = bcm_l2_phys_addr(end);
1646 /* normal case, no cross section between start and end */
1647 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) {
1661 static void bcm_flush_range(unsigned long start, unsigned long end)
1667 if (unlikely(end <= start))
1670 if ((end - start) >= l2x0_size) {
1676 new_end = bcm_l2_phys_addr(end);
1678 /* normal case, no cross section between start and end */
1679 if (likely(bcm_addr_is_sys_emi(end) || !bcm_addr_is_sys_emi(start))) {