As nowadays DMA coherence is managed per device, it is possible
to have a system that is defaulted to coherent dma but still
have noncoherent device that needs to use those flush functions.

Just install them unconditionally.

Signed-off-by: Jiaxun Yang <jiaxun.y...@flygoat.com>
---
 arch/mips/mm/c-r4k.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index a549fa98c2f4..7d447050a20b 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1867,15 +1867,9 @@ void r4k_cache_init(void)
        __local_flush_icache_user_range = local_r4k_flush_icache_user_range;
 
 #ifdef CONFIG_DMA_NONCOHERENT
-       if (dma_default_coherent) {
-               _dma_cache_wback_inv    = (void *)cache_noop;
-               _dma_cache_wback        = (void *)cache_noop;
-               _dma_cache_inv          = (void *)cache_noop;
-       } else {
-               _dma_cache_wback_inv    = r4k_dma_cache_wback_inv;
-               _dma_cache_wback        = r4k_dma_cache_wback_inv;
-               _dma_cache_inv          = r4k_dma_cache_inv;
-       }
+       _dma_cache_wback_inv    = r4k_dma_cache_wback_inv;
+       _dma_cache_wback        = r4k_dma_cache_wback_inv;
+       _dma_cache_inv          = r4k_dma_cache_inv;
 #endif /* CONFIG_DMA_NONCOHERENT */
 
        build_clear_page();
-- 
2.37.1 (Apple Git-137.1)

Reply via email to