/* * __dma_clean_range(start, end) * - start - virtual start address of region * - end - virtual end address of region */ __dma_clean_range: dcache_line_size x2, x3 sub x3, x2, #1 bic x0, x0, x3 1: alternative_if_not ARM64_WORKAROUND_CLEAN_CACHE dc cvac, x0 alternative_else dc civac, x0 alternative_endif add x0, x0, x2 cmp x0, x1 b.lo 1b dsb sy ret ENDPROC(__dma_clean_range)