1 // SPDX-License-Identifier: GPL-2.0+ 2 3 #include <linux/types.h> 4 #include <linux/dma-map-ops.h> 5 #include <asm/bmips.h> 6 #include <asm/io.h> 7 8 void arch_sync_dma_for_cpu_all(void) 9 { 10 void __iomem *cbr = BMIPS_GET_CBR(); 11 u32 cfg; 12 13 if (boot_cpu_type() != CPU_BMIPS3300 && 14 boot_cpu_type() != CPU_BMIPS4350 && 15 boot_cpu_type() != CPU_BMIPS4380) 16 return; 17 18 /* Flush stale data out of the readahead cache */ 19 cfg = __raw_readl(cbr + BMIPS_RAC_CONFIG); 20 __raw_writel(cfg | 0x100, cbr + BMIPS_RAC_CONFIG); 21 __raw_readl(cbr + BMIPS_RAC_CONFIG); 22 } 23