forked from Minki/linux
[ARM] realview: fix broadcast tick support
Having discussed broadcast tick support with Thomas Glexiner, the broadcast tick devices should be registered with a higher rating than the global tick device, and it should have the ONESHOT and PERIODIC feature flags set. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Thomas Glexiner <tglx@linutronix.de>
This commit is contained in:
parent
78d236c2b3
commit
ee348d5a1d
@ -750,14 +750,6 @@ void __init realview_timer_init(unsigned int timer_irq)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
#ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
|
||||
/*
|
||||
* The dummy clock device has to be registered before the main device
|
||||
* so that the latter will broadcast the clock events
|
||||
*/
|
||||
local_timer_setup();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* set clock frequency:
|
||||
* REALVIEW_REFCLK is 32KHz
|
||||
|
@ -189,8 +189,10 @@ void __cpuinit local_timer_setup(void)
|
||||
struct clock_event_device *clk = &per_cpu(local_clockevent, cpu);
|
||||
|
||||
clk->name = "dummy_timer";
|
||||
clk->features = CLOCK_EVT_FEAT_DUMMY;
|
||||
clk->rating = 200;
|
||||
clk->features = CLOCK_EVT_FEAT_ONESHOT |
|
||||
CLOCK_EVT_FEAT_PERIODIC |
|
||||
CLOCK_EVT_FEAT_DUMMY;
|
||||
clk->rating = 400;
|
||||
clk->mult = 1;
|
||||
clk->set_mode = dummy_timer_set_mode;
|
||||
clk->broadcast = smp_timer_broadcast;
|
||||
|
@ -217,11 +217,9 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
|
||||
if (max_cpus > ncores)
|
||||
max_cpus = ncores;
|
||||
|
||||
#ifdef CONFIG_LOCAL_TIMERS
|
||||
#if defined(CONFIG_LOCAL_TIMERS) || defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)
|
||||
/*
|
||||
* Enable the local timer for primary CPU. If the device is
|
||||
* dummy (!CONFIG_LOCAL_TIMERS), it was already registers in
|
||||
* realview_timer_init
|
||||
* Enable the local timer or broadcast device for the boot CPU.
|
||||
*/
|
||||
local_timer_setup();
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user