linux/arch/arm/mach-imx
Shawn Guo eea8e326ff ARM: imx: return zero in case next event gets a large increment
The return of v2_set_next_event() will lead to an infinite loop in
tick_handle_oneshot_broadcast() - "goto again;" with imx6q WAIT mode
(to be enabled).  This happens because when global event did not expire
any CPU local events, the broadcast device will be rearmed to a CPU
local next_event, which could be far away from now and result in a
max_delta_tick programming in set_next_event().

Fix the problem by detecting those next events with increments larger
than 0x7fffffff, and simply return zero in that case.

It leaves mx1_2_set_next_event() unchanged since only v2_set_next_event()
will be running with imx6q WAIT mode support.

Thanks Russell King for helping understand the problem.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-01-30 21:08:08 +08:00
..
devices ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
3ds_debugboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
3ds_debugboard.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
avic.c ARM: imx: remove header file mach/irqs.h 2012-10-15 10:05:43 +08:00
board-mx31lilly.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-mx31lite.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-mx31moboard.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-pcm038.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
clk-busy.c ARM: imx: fix the return value check in imx_clk_busy_divider() 2012-10-08 12:56:20 +02:00
clk-gate2.c ARM i.MX: fix error-valued pointer dereference in clk_register_gate2() 2012-11-16 15:53:57 +01:00
clk-imx1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-imx6q.c ARM: imx: remove unused imx6q_clock_map_io() 2013-01-29 14:05:39 +08:00
clk-imx21.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-imx25.c Merge remote-tracking branch 'arm-soc/imx/multiplatform' into x 2012-11-16 16:21:27 +01:00
clk-imx27.c ARM: clk-imx27: Add missing clock for mx2-camera 2012-11-16 16:21:49 +01:00
clk-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-imx35.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-imx51-imx53.c ARM i.MX51 clock: Fix regression since enabling MIPI/HSP clocks 2012-12-17 10:51:45 +01:00
clk-pfd.c ARM: imx: add common clock support for pfd 2012-05-02 12:08:20 +02:00
clk-pllv1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-pllv2.c ARM i.MX pllv2: make round_rate accurate 2012-06-04 15:23:47 +02:00
clk-pllv3.c ARM i.MX6: remove gate_mask from pllv3 2012-11-22 15:32:39 +01:00
clk.c ARM: i.MX remove last leftovers from legacy clock support 2012-09-12 11:46:51 +02:00
clk.h ARM i.MX6: remove gate_mask from pllv3 2012-11-22 15:32:39 +01:00
common.h ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
cpu_op-mx51.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu_op-mx51.h ARM i.MX: Merge i.MX5 support into mach-imx 2011-11-16 08:37:37 +01:00
cpu-imx5.c ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
cpu-imx25.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx35.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpufreq.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpuidle.c ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
cpuidle.h ARM: imx: ARM: imx: include cpuidle.h rather than mach/cpuidle.h 2012-10-15 10:03:10 +08:00
crm-regs-imx5.h ARM i.MX53: Fix PLL4 base address 2012-06-04 15:23:57 +02:00
crmregs-imx3.h ARM i.MX3: Make ccm base address a variable 2012-04-25 17:03:45 +02:00
devices-imx1.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx21.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx25.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx27.h ARM : i.MX27 : split code for allocation of ressources of camera and eMMA 2012-11-16 16:21:48 +01:00
devices-imx31.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx35.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx51.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
ehci-imx5.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx25.c Merge branch 'next/cam-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc 2012-11-30 09:27:57 -08:00
ehci-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx35.c Merge branch 'next/cam-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc 2012-11-30 09:27:57 -08:00
epit.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
eukrea_mbimx27-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
eukrea_mbimxsd25-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
eukrea_mbimxsd35-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
eukrea_mbimxsd51-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
eukrea-baseboards.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
gpc.c arm/imx6q: add core drivers clock, gpc, mmdc and src 2011-10-31 14:26:23 +01:00
hardware.h ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
headsmp.S ARM: imx: build i.MX6 functions only when needed 2012-08-23 17:26:53 +02:00
hotplug.c ARM: imx: include common.h rather than mach/common.h 2012-10-15 10:03:10 +08:00
iim.h ARM: imx: include iim.h rather than mach/iim.h 2012-10-15 10:03:10 +08:00
imx25-dt.c ARM i.MX25: Add devicetree support 2012-11-12 12:11:17 +01:00
imx27-dt.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
imx31-dt.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
imx51-dt.c ARM: mx5: Replace clk_register_clkdev with clock DT lookup 2012-11-22 09:15:26 +01:00
iomux-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
iomux-mx1.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx2x.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx3.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx21.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx25.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx27.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx35.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx51.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-v1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
iomux-v1.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-v3.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
iomux-v3.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iram_alloc.c ARM: imx: include iram.h rather than mach/iram.h 2012-10-15 10:03:11 +08:00
iram.h ARM: imx: include iram.h rather than mach/iram.h 2012-10-15 10:03:11 +08:00
irq-common.c ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
irq-common.h ARM: imx: remove header file mach/irqs.h 2012-10-15 10:05:43 +08:00
Kconfig ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
mach-apf9328.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-armadillo5x0.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-bug.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-cpuimx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-cpuimx35.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-cpuimx51sd.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-eukrea_cpuimx25.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-imx6q.c ARM: imx: use debug_ll_io_init() for imx6q 2013-01-29 14:05:41 +08:00
mach-imx27_visstrim_m10.c ARM: arm-soc: Board updates for 3.8 2012-12-12 12:14:06 -08:00
mach-imx27ipcam.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-imx27lite.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-imx53.c ARM: mx5: Replace clk_register_clkdev with clock DT lookup 2012-11-22 09:15:26 +01:00
mach-kzm_arm11_01.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx1ads.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx21ads.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx25_3ds.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx27_3ds.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx27ads.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx31_3ds.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx31ads.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx31lilly.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx31lite.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx31moboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx35_3ds.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mx51_babbage.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-mxt_td60.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-pca100.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-pcm037_eet.c ARM: imx: include common.h rather than mach/common.h 2012-10-15 10:03:10 +08:00
mach-pcm037.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-pcm038.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-pcm043.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-qong.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-scb9328.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mach-vpr200.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
Makefile ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
Makefile.boot ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
mm-imx1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mm-imx3.c Merge remote-tracking branch 'arm-soc/imx/multiplatform' into x 2012-11-16 16:21:27 +01:00
mm-imx5.c ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
mm-imx21.c ARM: imx: call mxc_device_init() in soc specific function 2012-10-15 10:05:43 +08:00
mm-imx25.c ARM: imx: call mxc_device_init() in soc specific function 2012-10-15 10:05:43 +08:00
mm-imx27.c ARM: imx: call mxc_device_init() in soc specific function 2012-10-15 10:05:43 +08: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 platform_data definitions 2012-09-14 11:17:21 +02:00
mx1-camera-fiq.S ARM: imx: move mx1 support to mach-imx 2010-06-30 08:59:44 +02:00
mx1.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx2x.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx3x.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx6q.h ARM: imx6q: let users input debug uart port number 2012-11-16 14:18:52 +08:00
mx21.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx25.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx27.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31lilly-db.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31lite-db.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-devboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-marxbot.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-smartbot.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx35.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx51.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx53.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mxc.h ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
pcm037.h ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
pcm970-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
platsmp.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
pm-imx3.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
pm-imx5.c ARM: imx: Remove mx508 support 2013-01-29 14:05:43 +08:00
pm-imx6q.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
pm-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
src.c ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP 2012-01-23 10:20:05 +00:00
ssi-fiq-ksym.c ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
ssi-fiq.S ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
system.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
time.c ARM: imx: return zero in case next event gets a large increment 2013-01-30 21:08:08 +08:00
tzic.c ARM: imx: remove header file mach/irqs.h 2012-10-15 10:05:43 +08:00
ulpi.c ARM: imx: include ulpi.h rather than mach/ulpi.h 2012-10-15 10:03:11 +08:00
ulpi.h ARM: imx: include ulpi.h rather than mach/ulpi.h 2012-10-15 10:03:11 +08:00