lineage_android_kernel_sams.../arch/mips
Jim Quinlan a6079a371f MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
commit f86f55d3ad21b21b736bdeb29bee0f0937b77138 upstream.

The BMIPS5000 (Zephyr) processor utilizes instruction speculation. A
stale misprediction address in either the JTB or the CRS may trigger
a prefetch inside a region that is currently being used by a DMA engine,
which is not IO-coherent.  This prefetch will fetch a line into the
scache, and that line will soon become stale (ie wrong) during/after the
DMA.  Mayhem ensues.

In dma-default.c, the r10000 is handled as a special case in the same way
that we want to handle Zephyr.  So we generalize the exception cases into
a function, and include Zephyr as one of the processors that needs this
special care.

Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: cernekee@gmail.com
Patchwork: https://patchwork.linux-mips.org/patch/5776/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: John Ulvr <julvr@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-20 07:34:19 -08:00
..
alchemy MIPS: Alchemy: Increase minimum timeout for 32kHz timer. 2012-02-20 18:33:18 +01:00
ar7 Merge branches 'next/ar7', 'next/ath79', 'next/bcm63xx', 'next/bmips', 'next/cavium', 'next/generic', 'next/kprobes', 'next/lantiq', 'next/perf' and 'next/raza' into mips-for-linux-next 2012-01-11 15:42:31 +01:00
ath79 MIPS: ath79: Fix ar933x watchdog clock 2013-09-26 17:15:50 -07:00
bcm47xx MIPS: BCM47XX: provide sprom to bcma bus 2012-03-05 15:20:51 -05:00
bcm63xx mips: Fix typo in bcm63xx/setup.c 2012-02-05 17:14:47 +01:00
boot
cavium-octeon Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
cobalt
configs locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage 2012-03-23 13:18:57 +01:00
dec Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
emma Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fw Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
include/asm MIPS: Rewrite pfn_valid to work in modules, too. 2013-08-20 08:26:28 -07:00
jazz Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
jz4740 ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card() 2012-01-20 13:58:29 +00:00
kernel MIPS: Fix poweroff failure when HOTPLUG_CPU configured. 2013-01-17 08:50:42 -08:00
lantiq Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
lasat Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
lib mips: use the the PCI controller's io_map_base 2012-01-31 23:20:30 +02:00
loongson
math-emu Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mipssim Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mm MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000 2013-12-20 07:34:19 -08:00
mti-malta Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
netlogic remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
oprofile
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pmc-sierra documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
pnx833x Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
pnx8550
power
powertv Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
rb532 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip22 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip27 remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
sgi-ip32 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sibyte documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
sni Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
txx9 MIPS: txx9 7segled fix struct device has no member 2012-02-20 18:33:18 +01:00
vr41xx Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
wrppmc
Kbuild
Kbuild.platforms
Kconfig MIPS: Expose missing pci_io{map,unmap} declarations 2013-08-20 08:26:27 -07:00
Kconfig.debug
Makefile kbuild: Fix gcc -x syntax 2012-10-13 05:38:37 +09:00