u-boot-brain/arch
Paul Burton 219c2db384 MIPS: Ensure cache ops complete in cache maintenance functions
A typical use of cache maintenance functions is to force writeback of
data which a device is about to read using DMA - for example a
descriptor or command structure. Such users of cache maintenance
functions require that operations on the cache have completed before
they proceed to instruct a device to read memory. This requires that we
place a completion barrier (ie. sync instruction) between the cache ops
and whatever write informs the device to perform DMA.

Whilst strictly speaking this isn't all users of the cache maintenance
functions & we could instead place the barriers in the drivers that
require them, it would be much more invasive to do so than to just have
the barrier be the default by placing it in the cache functions
themselves. The cost is low enough that it shouldn't matter to us in any
rare cases that we use the cache functions when not performing DMA.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: u-boot@lists.denx.de
2017-11-28 21:59:30 +01:00
..
arc arc: cache: Add required NOPs after invalidation of instruction cache 2017-11-24 19:38:23 +03:00
arm Merge git://www.denx.de/git/u-boot-imx 2017-11-27 07:22:11 -05:00
m68k m68k: Use asm-generic/io.h 2017-10-02 21:52:20 -04:00
microblaze microblaze: Use asm-generic/io.h 2017-10-02 21:52:21 -04:00
mips MIPS: Ensure cache ops complete in cache maintenance functions 2017-11-28 21:59:30 +01:00
nds32 nds32: Use asm-generic/io.h 2017-10-02 21:52:21 -04:00
nios2 nios2: 10m50: Add CPU pre-relocation in device tree 2017-11-17 10:51:24 -05:00
powerpc powerpc: mpc85xx: Implement CPU erratum A-007907 for secondary cores 2017-10-23 14:02:48 -07:00
sandbox sandbox: Add clrbits/setbits macros 2017-11-16 18:45:05 -07:00
sh sh: Use asm-generic/io.h 2017-10-02 21:52:21 -04:00
x86 pylibfdt: compile pylibfdt only when dtoc/binman is necessary 2017-11-17 07:43:32 -05:00
xtensa xtensa: Use asm-generic/io.h 2017-10-02 21:52:22 -04:00
.gitignore .gitignore: drop include/asm/proc from ignore pattern 2014-06-19 11:18:54 -04:00
Kconfig usb: net: migrate USB Ethernet adapters to Kconfig 2017-09-08 10:23:00 -04:00