linux-stable/arch/arm
Gregory CLEMENT 3e0a07f8c4 ARM: 7773/1: PJ4B: Add support for errata 4742
This commit fixes the regression on Armada 370 (the kernal hang during
boot) introduced by the commit: "ARM: 7691/1: mm: kill unused
TLB_CAN_READ_FROM_L1_CACHE and use ALT_SMP instead".

When coming out of either a Wait for Interrupt (WFI) or a Wait for
Event (WFE) IDLE states, a specific timing sensitivity exists between
the retiring WFI/WFE instructions and the newly issued subsequent
instructions. This sensitivity can result in a CPU hang scenario.  The
workaround is to insert either a Data Synchronization Barrier (DSB) or
Data Memory Barrier (DMB) command immediately after the WFI/WFE
instruction.

This commit was based on the work of Lior Amsalem, but heavily
modified to apply the errata fix dynamically according to the
processor type thanks to the suggestions of Russell King and Nicolas
Pitre.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Willy Tarreau <w@1wt.eu>
Cc: <stable@vger.kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-06-24 14:28:46 +01:00
..
boot ARM: SoC fixes for 3.10-rc 2013-06-22 09:44:45 -10:00
common Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-05-15 13:37:54 -07:00
configs ARM: Exynos fixes for 3.10-rc 2013-05-29 19:24:55 +09:00
crypto ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling 2013-05-22 22:01:35 +01:00
include ARM: 7773/1: PJ4B: Add support for errata 4742 2013-06-24 14:28:46 +01:00
kernel ARM: 7763/1: kernel: fix __cpu_logical_map default initialization 2013-06-24 14:28:43 +01:00
kvm ARM: KVM: be more thorough when invalidating TLBs 2013-06-03 10:58:56 +03:00
lib
mach-at91 ARM: at91/sama5: fix incorrect PMC pcr div definition 2013-05-24 10:53:51 +02:00
mach-bcm ARM: platform specific firmware interfaces for 3.10 2013-05-04 12:33:36 -07:00
mach-bcm2835
mach-clps711x
mach-cns3xxx ARM: arm-soc multiplatform updates for 3.10 2013-05-02 09:38:16 -07:00
mach-davinci ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
mach-dove arm: mach-dove: convert to use mvebu-mbus driver 2013-04-15 14:06:27 +00:00
mach-ebsa110
mach-ep93xx
mach-exynos ARM: exynos: add debug_ll_io_init() call in exynos_init_io() 2013-06-07 18:12:00 -07:00
mach-footbridge
mach-gemini ARM: arm-soc cleanup for 3.10 2013-05-02 09:03:55 -07:00
mach-highbank ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-imx ARM: imx: clk-imx6q: AXI clock select index is incorrect 2013-06-03 13:47:12 +08:00
mach-integrator ARM: arm-soc: late cleanups 2013-05-07 11:22:14 -07:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-kirkwood ARM: Kirkwood: handle mv88f6282 cpu in __kirkwood_variant(). 2013-06-06 18:16:04 +00:00
mach-ks8695
mach-lpc32xx
mach-mmp ARM: arm-soc board specific changes for 3.10, part 1 2013-05-04 12:34:30 -07:00
mach-msm proc: Use PDE attribute setting accessor functions 2013-05-07 15:01:11 -04:00
mach-mv78xx0 arm: mach-mv78xx0: convert to use the mvebu-mbus driver 2013-04-15 14:06:39 +00:00
mach-mvebu ARM: mvebu: Fix bug in coherency fabric low level init function 2013-05-28 14:50:08 +00:00
mach-mxs ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
mach-netx
mach-nomadik clocksource: nomadik-mtu: fix up clocksource/timer 2013-04-26 17:10:46 -07:00
mach-omap1 ARM: OMAP: fix error return code in omap1_system_dma_init() 2013-05-16 11:25:07 -07:00
mach-omap2 More OMAP hwmod and clock fixes for v3.10-rc. Fixes the AM33xx UART2. 2013-06-07 15:06:18 -07:00
mach-orion5x ARM: Orion: Remove redundant init_dma_coherent_pool_size() 2013-05-13 19:32:14 +00:00
mach-picoxcell
mach-prima2 ARM: prima2: fix incorrect panic usage 2013-06-11 00:11:31 -07:00
mach-pxa - Lots of cleanups from Artem, including deletion of some obsolete drivers 2013-05-09 10:15:46 -07:00
mach-realview Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-05-03 09:13:19 -07:00
mach-rpc
mach-s3c24xx ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-s3c64xx For 3.10 we have a few new MFD drivers for: 2013-05-05 17:36:20 -07:00
mach-s5p64x0 Merge branch 'samsung/exynos-multiplatform' into next/drivers 2013-04-19 16:50:56 +02:00
mach-s5pc100 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-s5pv210 ARM: arm-soc driver changes for 3.10 2013-05-04 12:31:18 -07:00
mach-sa1100 cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
mach-shark arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-shmobile Renesas ARM based SoC fixes for v3.10 2013-06-07 18:11:02 -07:00
mach-socfpga Merge branch 'gic/cleanup' into next/soc 2013-04-28 15:06:56 -07:00
mach-spear Merge branch 'late/fixes' into fixes 2013-05-09 13:05:15 -07:00
mach-sunxi ARM: sunxi: select ARCH_REQUIRE_GPIOLIB 2013-05-15 09:42:47 +02:00
mach-tegra arch/arm/mach-tegra: don't check resource with devm_ioremap_resource 2013-05-18 11:58:05 +02:00
mach-u300 ARM: u300: fix ages old copy/paste bug 2013-04-26 17:07:38 -07:00
mach-ux500 ARM: ux500: Provide supplies for AUX1, AUX2 and AUX3 2013-05-27 14:08:20 +02:00
mach-versatile ARM: versatile: use OF init for sp804 timer 2013-04-11 15:11:21 -05:00
mach-vexpress Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-virt Moves xenvm to mach-virt. 2013-05-07 15:11:43 -07:00
mach-vt8500 ARM: vt8500: Add missing NULL terminator in dt_compat 2013-05-20 23:30:54 -07:00
mach-w90x900 arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
mach-zynq ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
mm ARM: 7773/1: PJ4B: Add support for errata 4742 2013-06-24 14:28:46 +01:00
net
nwfpe
oprofile
plat-iop
plat-omap ARM: arm-soc device tree changes, part 2 2013-05-07 11:06:17 -07:00
plat-orion ARM: plat-orion: Fix num_resources and id for ge10 and ge11 2013-05-20 17:39:07 +00:00
plat-pxa
plat-samsung ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms 2013-06-11 01:10:12 -07:00
plat-versatile
tools
vfp ARM: 7729/1: vfp: ensure VFP_arch is non-zero when VFP is not supported 2013-05-22 22:01:37 +01:00
xen xen/arm: rename xen_secondary_init and run it on every online cpu 2013-05-13 16:14:25 +00:00
Kconfig ARM: 7773/1: PJ4B: Add support for errata 4742 2013-06-24 14:28:46 +01:00
Kconfig-nommu
Kconfig.debug ARM: arm-soc platform updates for 3.10, part 3 2013-05-07 11:02:18 -07:00
Makefile ARM: 7712/1: Remove trailing whitespace in arch/arm/Makefile 2013-05-07 10:34:46 +01:00