linux_dsm_epyc7002/arch/arm
Russell King 354535845f ARM: OMAP: fix DMA vs memory ordering
Using coherent DMA memory with the OMAP DMA engine results in
unpredictable behaviour due to memory ordering issues; as things stand,
there is no guarantee that data written to coherent DMA memory will be
visible to the DMA hardware.

This is because the OMAP dma_write() accessor contains no barriers,
necessary on ARMv6 and above.  The effect of this can be seen in comments
in the OMAP serial driver, which incorrectly talks about cache flushing
for the coherent DMA stuff.

Rather than adding barriers to the accessors, add it in the DMA support
code just before we enable DMA, and just after we disable DMA.  This
avoids having barriers for every DMA register access.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-04-23 16:54:21 +01:00
..
boot ARM: 7390/1: dts: versatile-pb/ab fix MMC IRQs 2012-04-23 15:46:15 +01:00
common ARM: 7377/1: vic: re-read status register before dispatching each IRQ handler 2012-04-10 09:27:42 +01:00
configs Merge branch 'fixes-for-arm-soc-20120416' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes 2012-04-18 21:28:16 -07:00
include/asm ARM: 7399/1: vfp: move user vfp state save/restore code out of signal.c 2012-04-23 15:44:41 +01:00
kernel ARM: 7399/1: vfp: move user vfp state save/restore code out of signal.c 2012-04-23 15:44:41 +01:00
lib ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts 2012-01-25 11:07:40 +00:00
mach-at91 ARM: at91: fix at91sam9261ek Ethernet dm9000 irq 2012-04-16 11:08:26 +02:00
mach-bcmring ARM: bcmring: fix UART declarations 2012-04-18 21:21:45 -07:00
mach-clps711x ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-cns3xxx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-davinci Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
mach-dove ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ebsa110 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ep93xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-exynos ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files 2012-04-14 07:53:51 -07:00
mach-footbridge ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-gemini ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-h720x ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-highbank ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-imx ARM: imx: Fix imx5 idle logic bug 2012-04-18 11:52:24 +02:00
mach-integrator ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-iop13xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-iop32x ARM: kill off __mem_pci 2012-03-06 21:34:45 -06:00
mach-iop33x ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-ixp4xx ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-ixp23xx ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-ixp2000 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-kirkwood Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
mach-ks8695 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-l7200/include/mach
mach-lpc32xx ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
mach-mmp ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-msm ARM: msm: Fix section mismatches in proc_comm.c 2012-04-13 10:23:17 -07:00
mach-mv78xx0 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-mxs MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-netx ARM: __io abuse cleanup 2012-03-13 21:25:21 -05:00
mach-nomadik ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-omap1 ARM: OMAP1: DMTIMER: fix broken timer clock source selection 2012-04-17 15:30:16 -07:00
mach-omap2 ARM: SoC fixes for 3.4-rc 2012-04-21 12:45:52 -07:00
mach-orion5x ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-picoxcell ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-pnx4008 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-prima2 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-pxa ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
mach-realview ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-rpc ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s3c24xx ARM: S3C24XX: fix missing common.h in mach-s3c24xx/ 2012-04-02 06:43:23 +09:00
mach-s3c64xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s3c2410 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2412 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s3c2440 Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-s5p64x0 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s5pc100 ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-s5pv210 ARM: S5PV210: Fix compiler warning in dma.c file 2012-04-10 08:40:19 -07:00
mach-sa1100 ARM: fix lcd power build failure in collie_defconfig 2012-04-02 22:03:44 -07:00
mach-shark ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-shmobile MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-spear3xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-spear6xx ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-tegra ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
mach-u300 MTD merge for 3.4 2012-03-30 17:31:56 -07:00
mach-ux500 ARM: ux500: Fix unmet direct dependency 2012-04-16 09:00:37 +02:00
mach-versatile ARM: versatile: fix build failure in pci.c 2012-04-02 22:03:35 -07:00
mach-vexpress ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
mach-vt8500 ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mach-w90x900 ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mach-zynq ARM: remove bunch of now unused mach/io.h files 2012-03-06 21:34:44 -06:00
mm ARM: 7398/1: l2x0: only write to debug registers on PL310 2012-04-23 14:21:52 +01:00
net ARM: 7259/3: net: JIT compiler for packet filters 2012-03-24 09:38:56 +00:00
nwfpe Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
oprofile oprofile, arm/sh: Fix oprofile_arch_exit() linkage issue 2011-12-23 11:58:34 +01:00
plat-iop Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
plat-mxc ARM: 3ds_debugboard: Fix smsc911x driver probe 2012-04-02 11:15:15 +02:00
plat-nomadik Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
plat-omap ARM: OMAP: fix DMA vs memory ordering 2012-04-23 16:54:21 +01:00
plat-orion ARM: orion: wdt: use resource vice direct access 2012-03-16 04:28:41 +00:00
plat-pxa Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
plat-s3c24xx ARM: fix builds due to missing <asm/system_misc.h> includes 2012-03-30 15:44:40 -07:00
plat-s5p Merge branch 'samsung/cleanup-exynos-clock' into next/soc 2012-03-20 10:07:48 +00:00
plat-samsung ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL 2012-04-14 07:42:24 -07:00
plat-spear Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-03-29 23:17:44 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
tools ARM: Update mach-types 2011-12-23 22:58:10 +00:00
vfp ARM: 7400/1: vfp: clear fpscr length and stride bits on entry to sig handler 2012-04-23 15:44:42 +01:00
Kconfig ARM: 7396/1: errata: only handle ARM erratum #326103 on affected cores 2012-04-23 14:21:52 +01:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00