Merge tag 'for-5.18/io_uring-2022-04-01' of git://git.kernel.dk/linux-block
[platform/kernel/linux-starfive.git] / arch / mips / bmips / dma.c
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 }