android_kernel_google_msm/arch/arm/mach-imx
Shawn Guo 830cb0da37 ARM: imx6: spin the cpu until hardware takes it down
commit c944b0b935 upstream.

Though commit 602bf40 (ARM: imx6: exit coherency when shutting down
a cpu) improves the stability of imx6q cpu hotplug a lot, there are
still hangs seen with a more stressful hotplug testing.

It's expected that once imx_enable_cpu(cpu, false) is called, the cpu
will be taken down by hardware immediately, and the code after that
will not get any chance to execute.  However, this is not always the
case from the testing.  The cpu could possibly be alive for a few
cycles before hardware actually takes it down.  So rather than letting
cpu execute some code that could cause a hang in these cycles, let's
make the cpu spin there and wait for hardware to take it down.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-14 10:00:05 -07:00
..
include/mach dmaengine: imx-dma: merge old dma-v1.c with imx-dma.c 2012-03-26 11:31:29 +05:30
clock-imx1.c serial/imx: get rid of the uses of cpu_is_mx1() 2011-07-27 09:30:38 +08:00
clock-imx6q.c ARM: imx6q: add cko1 clock 2012-02-27 15:18:06 +08:00
clock-imx21.c serial/imx: get rid of the uses of cpu_is_mx1() 2011-07-27 09:30:38 +08:00
clock-imx25.c ARM: mx25: Print silicon revision on boot 2011-08-26 08:50:58 +02:00
clock-imx27.c MX2: Fix mx2_camera clock regression. 2012-04-02 11:11:05 +02:00
clock-imx31.c ARM: mx3: Let mx31 and mx35 share the same CCM header file 2012-02-27 10:14:48 +01:00
clock-imx35.c ARM: mx35: Fix registration of camera clock 2012-04-02 11:27:41 +02:00
clock-mx51-mx53.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
cpu-imx5.c ARM: mx5: Use common function for configuring AIPS 2012-03-07 21:29:57 +01:00
cpu-imx25.c ARM: mx25: Print silicon revision on boot 2011-08-26 08:50:58 +02:00
cpu-imx27.c ARM: mx27: Print silicon revision on boot 2011-08-26 08:50:58 +02:00
cpu-imx31.c ARM: mx31: use generic function for displaying silicon revision 2011-08-26 08:50:59 +02:00
cpu-imx35.c ARM: mx35: use generic function for displaying silicon revision 2011-08-26 08:50:59 +02:00
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 ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
crm-regs-imx5.h ARM i.MX53: Fix PLL4 base address 2012-06-22 11:36:52 -07:00
crmregs-imx3.h ARM: SoC specific updates 2012-03-27 16:14:44 -07:00
devices-imx1.h ARM: imx: clean up the section marks of extern data 2011-05-19 13:11:11 +02:00
devices-imx21.h ARM: imx: clean up the section marks of extern data 2011-05-19 13:11:11 +02:00
devices-imx25.h ARM: imx: clean up the section marks of extern data 2011-05-19 13:11:11 +02:00
devices-imx27.h [media] MX2: Add platform definitions for eMMa-PrP device 2012-02-28 07:20:32 -03:00
devices-imx31.h ARM: imx: Define functions for registering PATA 2011-08-24 18:13:34 +02:00
devices-imx35.h ARM: imx: Define functions for registering PATA 2011-08-24 18:13:34 +02:00
devices-imx50.h ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
devices-imx51.h ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
devices-imx53.h ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
efika.h ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
ehci-imx5.c ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
ehci-imx25.c ARM i.MX ehci: factor out soc specific functions 2011-02-11 08:34:17 +01:00
ehci-imx27.c ARM i.MX ehci: factor out soc specific functions 2011-02-11 08:34:17 +01:00
ehci-imx31.c ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02:00
ehci-imx35.c ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02:00
eukrea_mbimx27-baseboard.c ASoC: imx: move eukrea audmux call into ASoC machine driver 2012-03-06 00:02:36 +00:00
eukrea_mbimx51-baseboard.c ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
eukrea_mbimxsd-baseboard.c ASoC: imx: move audmux driver into sound/soc/imx 2012-03-06 00:03:00 +00:00
eukrea_mbimxsd25-baseboard.c ASoC: imx: move eukrea audmux call into ASoC machine driver 2012-03-06 00:02:36 +00:00
eukrea_mbimxsd35-baseboard.c ASoC: imx: move eukrea audmux call into ASoC machine driver 2012-03-06 00:02:36 +00:00
gpc.c arm/imx6q: add core drivers clock, gpc, mmdc and src 2011-10-31 14:26:23 +01:00
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: spin the cpu until hardware takes it down 2012-09-14 10:00:05 -07:00
imx27-dt.c ARM: imx27-dt: Fix build due to removal of irq_domain_add_simple() 2012-04-18 11:52:24 +02:00
imx51-dt.c Merge branches 'depends/irqdomain' and 'at91/base2+cleanup' into next/dt 2012-03-02 13:22:19 +00:00
imx53-dt.c Merge branches 'depends/irqdomain' and 'at91/base2+cleanup' into next/dt 2012-03-02 13:22:19 +00:00
iomux-imx31.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
Kconfig Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
lluart.c ARM: imx6: Rename DEBUG_IMX6Q_UART to UART4 2012-02-27 15:17:32 +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 Merge branch 'restart' into for-linus 2012-01-05 13:25:27 +00:00
mach-cpuimx51.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-cpuimx51sd.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-eukrea_cpuimx25.c ARM: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-imx6q.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mach-imx27_visstrim_m10.c Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into next/boards 2012-03-27 15:18:19 -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: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
mach-mx21ads.c ARM i.MX imx21ads: Fix overlapping static i/o mappings 2012-06-22 11:36:52 -07: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: Add arm_memblock_steal() to allocate memory away from the kernel 2012-01-13 15:02:35 +00: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: mx31lite: Fix smsc911x driver probe 2012-04-02 16:31:21 +02:00
mach-mx31moboard.c ARM: driver specific updates 2012-03-27 16:41:24 -07:00
mach-mx35_3ds.c ARM: mach-mx35_3ds: Fix build warning due to the lack of 'const' annotation 2012-04-02 11:10:24 +02: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 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_babbage.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_efikamx.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
mach-mx51_efikasb.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01: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 i.MX pcm037: register a dummy regulator for the smsc911x device 2012-03-03 16:32:47 +00:00
mach-pcm037_eet.c ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02: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 ASoC: imx: move phycore audmux call into ASoC machine driver 2012-03-06 00:02:47 +00: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: restart: mxc: use new restart hook 2012-01-05 12:57:15 +00:00
Makefile Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
Makefile.boot ARM: imx5: generate dtbs for imx5 boards 2012-02-27 11:33:32 +08:00
mm-imx1.c gpio/mxc: get rid of the uses of cpu_is_mx() 2011-07-08 12:38:12 -06:00
mm-imx3.c ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
mm-imx5.c ARM: imx: Fix imx5 idle logic bug 2012-04-18 11:52:24 +02:00
mm-imx21.c ARM: imx: convert audmux to a platform driver 2012-03-06 00:02:55 +00:00
mm-imx25.c ARM: imx: convert audmux to a platform driver 2012-03-06 00:02:55 +00:00
mm-imx27.c ARM: imx: convert audmux to a platform driver 2012-03-06 00:02:55 +00:00
mmdc.c arm/imx6q: add core drivers clock, gpc, mmdc and src 2011-10-31 14:26:23 +01:00
mx1-camera-fiq-ksym.c ARM: imx: move mx1 support to mach-imx 2010-06-30 08:59:44 +02:00
mx1-camera-fiq.S ARM: imx: move mx1 support to mach-imx 2010-06-30 08:59:44 +02:00
mx31lilly-db.c ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02:00
mx31lite-db.c ARM: imx: convert to new leds-gpio registration helper 2011-07-07 09:59:57 +02:00
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 ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02:00
mx51_efika.c ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
pcm037.h ARM: imx: move mx3 support to mach-imx 2011-05-19 13:11:38 +02:00
pcm970-baseboard.c ARM: imx: remove now empty devices.h 2010-11-17 10:01:34 +01:00
platsmp.c arm/imx6q: add smp and cpu hotplug support 2011-10-31 14:26:24 +01:00
pm-imx3.c ARM: mx3: Let mx31 and mx35 enter in LPM mode in WFI 2012-03-02 08:47:49 +01: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