Message ID | 20230222132425.7442-5-jiaxun.yang@flygoat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 600efe35d54961dd026f04c6ea5b4074b3284c87 |
Headers | show |
Series | MIPS DMA coherence fixes | expand |
On Wed, Feb 22, 2023 at 01:24:25PM +0000, Jiaxun Yang wrote: > 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> > --- > arch/mips/mm/c-r4k.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) applied to mips-next. Thomas.
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();
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> --- arch/mips/mm/c-r4k.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)