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