MIPS: mm: XBurst CPU requires sync after DMA

I am not sure why this is required, but if this is not enabled, reading
from a buffer in which data has been DMA'd may read incorrect values.

This used to happen for instance in mmc_app_send_scr()
(drivers/mmc/core/sd_ops.c), where data is DMA'd to a buffer then copied
by the CPU to a different location.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
Paul Cercueil 2021-05-30 18:17:55 +01:00 коммит произвёл Thomas Bogendoerfer
Родитель c8ba52d1b7
Коммит 1660710cf5
2 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -112,6 +112,7 @@ config MACH_INGENIC
select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_LITTLE_ENDIAN
select SYS_SUPPORTS_ZBOOT select SYS_SUPPORTS_ZBOOT
select DMA_NONCOHERENT select DMA_NONCOHERENT
select ARCH_HAS_SYNC_DMA_FOR_CPU
select IRQ_MIPS_CPU select IRQ_MIPS_CPU
select PINCTRL select PINCTRL
select GPIOLIB select GPIOLIB

Просмотреть файл

@ -32,6 +32,7 @@ static inline bool cpu_needs_post_dma_flush(void)
case CPU_R12000: case CPU_R12000:
case CPU_BMIPS5000: case CPU_BMIPS5000:
case CPU_LOONGSON2EF: case CPU_LOONGSON2EF:
case CPU_XBURST:
return true; return true;
default: default:
/* /*