android_kernel_google_msm/arch/mips/mm
Jim Quinlan a6079a371f MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
commit f86f55d3ad 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
..
c-octeon.c remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
c-r3k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
c-r4k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
c-tx39.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
cache.c MIPS: cache: Provide cache flush operations for XFS 2011-10-20 15:00:18 +01:00
cerr-sb1.c
cex-gen.S
cex-oct.S
cex-sb1.S Fix common misspellings 2011-03-31 11:26:23 -03:00
dma-default.c MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000 2013-12-20 07:34:19 -08:00
extable.c
fault.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
gup.c MIPS: mm: Add compound tail page _mapcount when mapped 2012-10-02 10:30:09 -07:00
highmem.c highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlbpage.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
init.c mips: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:14 +08:00
ioremap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Makefile 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
mmap.c MIPS: Trivial style cleanups in mmap.c 2011-09-17 02:37:04 +02:00
page.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
pgtable-32.c MIPS: Limit fixrange_init() to the FIXMAP region 2011-07-25 17:26:54 +01:00
pgtable-64.c MIPS: Limit fixrange_init() to the FIXMAP region 2011-07-25 17:26:54 +01:00
sc-ip22.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sc-mips.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sc-r5k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sc-rm7k.c MIPS: RM7000: Symbol should be static 2010-10-04 18:33:54 +01:00
tlb-r3k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
tlb-r4k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
tlb-r8k.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
tlbex-fault.S
tlbex.c Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
uasm.c MIPS: Use WARN() in uasm for better diagnostics. 2011-01-18 19:30:24 +01:00