MIPS: c-r4k: Always install dma flush functions
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Wed, 22 Feb 2023 13:24:25 +0000 (13:24 +0000)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 24 Mar 2023 13:07:13 +0000 (14:07 +0100)
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.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/mm/c-r4k.c

index a549fa9..7d44705 100644 (file)
@@ -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();