dma.c (545B)
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 8void 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}