linux/drivers/clocksource
Krzysztof Kozlowski ce5e2b3209 clocksource: Exynos_mct: Register clock event after request_irq()
commit 8db6e5104b upstream.

After hotplugging CPU1 the first call of interrupt handler for CPU1
oneshot timer was called on CPU0 because it fired before setting IRQ
affinity. Affected are SoCs where Multi Core Timer interrupts are
shared (SPI), e.g. Exynos 4210.

During setup of the MCT timers the clock event device should be
registered after setting the affinity for interrupt. This will prevent
starting the timer too early.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Tomasz Figa <t.figa@samsung.com>,
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org,
Link: http://lkml.kernel.org/r/20140416143316.299247848@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-06-07 10:28:08 -07:00
..
acpi_pm.c treewide: Fix printks with 0x%# 2013-08-27 10:49:38 +02:00
arm_arch_timer.c clocksource: arch_timer: Do not register arch_sys_counter twice 2013-10-16 08:30:03 +02:00
arm_global_timer.c clocksource: arm_global_timer: Switch to sched_clock_register() 2013-12-11 11:40:23 +01:00
bcm2835_timer.c clocksource: bcm2835: Switch to sched_clock_register() 2013-07-30 11:24:51 -07:00
bcm_kona_timer.c clocksource: Kona: Print warning rather than panic 2014-02-06 16:01:40 +01:00
cadence_ttc_timer.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-20 11:34:26 -08:00
clksrc-dbx500-prcmu.c clocksource: dbx500-prcmu: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
clksrc-of.c Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
cs5535-clockevt.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
cyclone.c clocksource: cyclone: Add missing iounmap 2012-01-26 19:30:40 -08:00
dummy_timer.c clocksource+irqchip: delete __cpuinit usage from all related files 2013-07-14 19:36:57 -04:00
dw_apb_timer.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
dw_apb_timer_of.c clocksource: dw_apb_timer_of: Fix support for dts binding "snps,dw-apb-timer" 2013-12-10 19:49:18 +01:00
em_sti.c clocksource: em_sti: convert to clk_prepare/unprepare 2013-10-22 22:36:24 +02:00
exynos_mct.c clocksource: Exynos_mct: Register clock event after request_irq() 2014-06-07 10:28:08 -07:00
i8253.c time: Kill xtime_lock, replacing it with jiffies_lock 2012-11-13 14:08:23 -05:00
Kconfig Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
Makefile ARM: SoC platform changes for 3.14 2014-01-23 18:40:49 -08:00
metag_generic.c clocksource+irqchip: delete __cpuinit usage from all related files 2013-07-14 19:36:57 -04:00
mmio.c clocksource: add common mmio clocksource 2011-05-23 18:04:51 +01:00
moxart_timer.c ARM: clocksource: moxart: Add bitops.h include 2013-08-01 01:13:34 +02:00
mxs_timer.c clocksource: mxs_timer: Switch to sched_clock_register() 2013-07-30 11:24:52 -07:00
nomadik-mtu.c ARM: SoC DT updates for 3.14 2014-01-23 18:45:38 -08:00
samsung_pwm_timer.c clocksource: misc drivers: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:27 +01:00
scx200_hrt.c clocksource: scx200_hrt: Fix the build 2012-02-22 13:25:16 +01:00
sh_cmt.c Merge branch 'clockevents/for-Simon-3.13-rc2' into clockevents/3.14 2013-12-18 15:14:36 +01:00
sh_mtu2.c Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
sh_tmu.c Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
sun4i_timer.c Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
tcb_clksrc.c clocksource: tcb_clksrc: Remove IRQF_DISABLED 2013-10-03 16:28:40 +02:00
tegra20_timer.c clocksource: tegra: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:28 +01:00
time-armada-370-xp.c Merge branch 'clockevents/3.14' of git://git.linaro.org/people/daniel.lezcano/linux into timers/core 2014-01-14 14:33:29 +01:00
time-efm32.c clocksource: Provide timekeeping for efm32 SoCs 2013-10-22 22:36:33 +02:00
time-orion.c clocksource: orion: Switch to sched_clock_register() 2013-12-11 11:40:25 +01:00
timer-marco.c Now that we have a generic arch hook for broadcast we can remove the local 2013-07-23 16:54:15 -07:00
timer-prima2.c clocksource: sirf: Switch to sched_clock_register() and use 64 bits 2013-07-30 11:24:55 -07:00
timer-sun5i.c clocksource: Timer-sun5i: Switch to sched_clock_register() 2014-01-19 13:23:23 +01:00
vf_pit_timer.c clocksource: vf_pit_timer: use complement for sched_clock reading 2014-03-06 11:34:14 +01:00
vt8500_timer.c clocksource: vt8500: Remove deprecated IRQF_DISABLED 2013-12-11 11:40:28 +01:00
zevio-timer.c clocksource: Add TI-Nspire timer support 2013-06-06 17:23:13 +02:00