alistair23-linux/arch/arm/mach-imx
Shawn Guo 602bf40971 ARM: imx6: exit coherency when shutting down a cpu
There is a system hang issue on imx6q which can easily be seen with
running a cpu hotplug stress testing (hotplug secondary cores from
user space via sysfs interface for thousands iterations).

It turns out that the issue is caused by coherency of the cpu that
is being shut down.  When shutting down a cpu, we need to have the
cpu exit coherency to prevent it from receiving cache, TLB, or BTB
maintenance operations broadcast by other CPUs in the cluster.

Copy cpu_enter_lowpower() and cpu_leave_lowpower() from mach-vexpress
to have coherency properly handled in platform_cpu_die(), thus fix
the issue.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: stable@kernel.org
2012-06-07 21:47:32 +08:00
..
include/mach dmaengine: imx-dma: merge old dma-v1.c with imx-dma.c 2012-03-26 11:31:29 +05:30
clk-busy.c ARM: imx: add common clock support for clk busy 2012-05-02 12:08:26 +02:00
clk-gate2.c ARM i.MX: Add common clock support for 2bit gate 2012-05-02 12:08:13 +02:00
clk-imx1.c ARM i.MX1: implement clocks using common clock framework 2012-05-02 12:08:32 +02:00
clk-imx6q.c ARM: imx6q_sabrelite: clk_register_clkdev cko1 for sgtl5000 2012-05-11 15:18:06 +08:00
clk-imx21.c ARM i.MX21: implement clocks using common clock framework 2012-05-02 12:08:33 +02:00
clk-imx25.c ARM i.MX25: implement clocks using common clock framework 2012-05-02 12:08:32 +02:00
clk-imx27.c ARM i.MX27: implement clocks using common clock framework 2012-05-02 12:08:34 +02:00
clk-imx31.c ARM i.MX31: implement clocks using common clock framework 2012-05-02 12:08:34 +02:00
clk-imx35.c ARM i.MX35: implement clocks using common clock framework 2012-05-09 08:59:34 +02:00
clk-imx51-imx53.c ARM: imx: add more imx5 ssi clocks 2012-05-11 17:21:17 +08:00
clk-pfd.c ARM: imx: add common clock support for pfd 2012-05-02 12:08:20 +02:00
clk-pllv1.c ARM i.MX: Add common clock support for pllv1 2012-05-02 12:07:53 +02:00
clk-pllv2.c ARM i.MX: Add common clock support for pllv2 2012-05-02 12:07:59 +02:00
clk-pllv3.c ARM: imx: add common clock support for pllv3 2012-05-02 12:08:06 +02:00
clk.h ARM: imx: add common clock support for clk busy 2012-05-02 12:08:26 +02:00
cpu-imx5.c ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
cpu-imx25.c
cpu-imx27.c
cpu-imx31.c
cpu-imx35.c
cpu_op-mx51.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
cpu_op-mx51.h
crm-regs-imx5.h
crmregs-imx3.h ARM i.MX3: Make ccm base address a variable 2012-04-25 17:03:45 +02:00
devices-imx1.h
devices-imx21.h
devices-imx25.h
devices-imx27.h [media] MX2: Add platform definitions for eMMa-PrP device 2012-02-28 07:20:32 -03:00
devices-imx31.h
devices-imx35.h
devices-imx50.h
devices-imx51.h
devices-imx53.h
efika.h
ehci-imx5.c
ehci-imx25.c
ehci-imx27.c
ehci-imx31.c
ehci-imx35.c
eukrea_mbimx27-baseboard.c ARM: imx/eukrea_mbimx27-baseboard: fix typo in error message 2012-05-02 10:25:37 +02:00
eukrea_mbimxsd25-baseboard.c ARM: imx: eukrea_mbimxsd25: use IMX_GPIO_NR 2012-05-08 17:31:25 +02:00
eukrea_mbimxsd35-baseboard.c ARM: imx: eukrea_mbimxsd35: add spi controler and spidev support 2012-05-08 17:31:24 +02:00
eukrea_mbimxsd51-baseboard.c ARM: imx: eukrea_mbimxsd rename to eukrea_mbimxsd51 2012-05-08 17:31:25 +02:00
gpc.c
head-v7.S Merge branch 'imx/pm2' of git://git.linaro.org/people/shawnguo/linux-2.6 into imx6/pm 2012-01-06 12:44:05 -08:00
hotplug.c ARM: imx6: exit coherency when shutting down a cpu 2012-06-07 21:47:32 +08:00
imx27-dt.c ARM: imx: add mxc_nand to imx27 device tree 2012-05-13 23:03:19 -05:00
imx51-dt.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
imx53-dt.c Merge branch 'imx/pinctrl' into imx/dt 2012-05-14 15:23:13 +02:00
iomux-imx31.c
Kconfig arm-soc: clock driver changes 2012-05-26 12:42:29 -07:00
lluart.c ARM: imx6: Add UART2 for low-level debug 2012-05-11 15:17:57 +08:00
mach-apf9328.c Merge branch 'samsung/cleanup' into next/boards 2012-01-09 17:06:36 +00:00
mach-armadillo5x0.c ARM: armadillo5x0: Fix smsc911x driver probe 2012-04-02 16:31:22 +02:00
mach-bug.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-cpuimx27.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-cpuimx35.c arm: imx: make various struct sys_timer static 2012-04-26 09:43:50 +02:00
mach-cpuimx51sd.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-eukrea_cpuimx25.c ARM: imx: eukrea_cpuimx25: add watchdog support 2012-05-08 17:31:24 +02:00
mach-imx6q.c Merge branch 'imx/pinctrl' into imx/dt 2012-05-14 15:23:13 +02:00
mach-imx27_visstrim_m10.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-05-24 10:21:51 -07:00
mach-imx27ipcam.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-imx27lite.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-kzm_arm11_01.c ARM: kzm_arm11_01: Fix smsc911x driver probe 2012-04-02 16:31:22 +02:00
mach-mx1ads.c arm: imx: make various struct sys_timer static 2012-04-26 09:43:50 +02:00
mach-mx21ads.c ARM: imx/mx21ads: remove unneeded cast 2012-04-02 11:06:42 +02:00
mach-mx25_3ds.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-mx27_3ds.c ARM: mx27_3ds: Add camera support 2012-02-27 10:13:51 +01:00
mach-mx27ads.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-mx31_3ds.c ARM: mx31_3ds: Add sound support 2012-05-18 16:42:44 +01:00
mach-mx31ads.c CS89x0 : add CS89x0 platform device to the iMX31ADS board 2012-02-01 16:52:02 +01:00
mach-mx31lilly.c ARM: mx31lilly: Fix smsc911x driver probe 2012-04-02 16:31:22 +02:00
mach-mx31lite.c arm: imx: make various struct sys_timer static 2012-04-26 09:43:50 +02:00
mach-mx31moboard.c Sound updates for 3.5-rc1 2012-05-23 13:05:43 -07:00
mach-mx35_3ds.c GPIO driver changes for v3.5 merge window 2012-05-24 14:01:46 -07:00
mach-mx50_rdp.c Consolidate i.MX 5 platforms to be under the new shared i.MX 3/5/6 tree. 2012-01-23 14:50:30 -08:00
mach-mx51_3ds.c ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
mach-mx51_babbage.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-mx51_efikamx.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-mx51_efikasb.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-mx53_ard.c ARM: mx53ard: Fix smsc911x driver probe 2012-04-02 16:31:21 +02:00
mach-mx53_evk.c Consolidate i.MX 5 platforms to be under the new shared i.MX 3/5/6 tree. 2012-01-23 14:50:30 -08:00
mach-mx53_loco.c Consolidate i.MX 5 platforms to be under the new shared i.MX 3/5/6 tree. 2012-01-23 14:50:30 -08:00
mach-mx53_smd.c Consolidate i.MX 5 platforms to be under the new shared i.MX 3/5/6 tree. 2012-01-23 14:50:30 -08:00
mach-mxt_td60.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-pca100.c ASoC: imx: move phycore audmux call into ASoC machine driver 2012-03-06 00:02:47 +00:00
mach-pcm037.c arm-soc: sweeping late_initcall cleanup 2012-05-26 13:14:01 -07:00
mach-pcm037_eet.c ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
mach-pcm038.c ARM: mach-pcm038: Fix field name of regulator_consumer_supply struct 2012-02-27 10:12:40 +01:00
mach-pcm043.c arm: imx: make various struct sys_timer static 2012-04-26 09:43:50 +02:00
mach-qong.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-scb9328.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-vpr200.c arm: imx: make various struct sys_timer static 2012-04-26 09:43:50 +02:00
Makefile arm-soc: clock driver changes 2012-05-26 12:42:29 -07:00
Makefile.boot ARM: dts: Add basic support for imx6q-sabresd 2012-05-11 15:17:52 +08:00
mm-imx1.c ARM: imx: enable pinctrl dummy states 2012-05-08 23:05:16 +08:00
mm-imx3.c ARM: mx31: Add pinctrl_provide_dummies() 2012-06-07 21:47:16 +08:00
mm-imx5.c ARM: mx51: Add pinctrl_provide_dummies() 2012-06-07 21:47:24 +08:00
mm-imx21.c ARM: imx: enable pinctrl dummy states 2012-05-08 23:05:16 +08:00
mm-imx25.c ARM: imx: enable pinctrl dummy states 2012-05-08 23:05:16 +08:00
mm-imx27.c ARM: imx: enable pinctrl dummy states 2012-05-08 23:05:16 +08:00
mmdc.c
mx1-camera-fiq-ksym.c
mx1-camera-fiq.S
mx31lilly-db.c
mx31lite-db.c
mx31moboard-devboard.c arm: imx: Start using struct usb_otg 2012-02-13 13:36:03 +02:00
mx31moboard-marxbot.c arm: imx: Start using struct usb_otg 2012-02-13 13:36:03 +02:00
mx31moboard-smartbot.c
mx51_efika.c
pcm037.h ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
pcm970-baseboard.c
platsmp.c
pm-imx3.c ARM i.MX3: Make ccm base address a variable 2012-04-25 17:03:45 +02:00
pm-imx5.c ARM: pm-imx5: add clk_prepare/clk_unprepare 2012-02-01 14:29:30 +01:00
pm-imx6q.c ARM: imx6q: resume PL310 only when CACHE_L2X0 defined 2011-12-26 10:18:59 +08:00
pm-imx27.c ARM: plat-mxc: hook special idle handlers to arm_pm_idle 2012-01-20 18:55:14 -05:00
src.c ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP 2012-01-23 10:20:05 +00:00