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:
Родитель
c8ba52d1b7
Коммит
1660710cf5
|
@ -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:
|
||||||
/*
|
/*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче