linux/kernel/time
Suresh Siddha fa4da365bc clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot()
In the commit 77b0d60c5a,
"clockevents: Leave the broadcast device in shutdown mode when not needed",
we were bailing out too quickly in tick_broadcast_switch_to_oneshot(),
with out tracking the broadcast device mode change to 'TICKDEV_MODE_ONESHOT'.

This breaks the platforms which need broadcast device oneshot services during
deep idle states. tick_broadcast_oneshot_control() thinks that it is
in periodic mode and fails to take proper decisions based on the
CLOCK_EVT_NOTIFY_BROADCAST_[ENTER, EXIT] notifications during deep
idle entry/exit.

Fix this by tracking the broadcast device mode as 'TICKDEV_MODE_ONESHOT',
before leaving the broadcast HW device in shutdown mode if there are no active
requests for the moment.

Reported-and-tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: johnstul@us.ibm.com
Link: http://lkml.kernel.org/r/1334011304.12400.81.camel@sbsiddha-desk.sc.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-04-10 11:42:07 +02:00
..
alarmtimer.c alarmtimer: Don't call rtc_timer_init() when CONFIG_RTC_CLASS=n 2012-03-24 12:46:23 +01:00
clockevents.c Revert "clockevents: Set noop handler in clockevents_exchange_device()" 2011-12-30 13:24:40 -08:00
clocksource.c kernel-time: fix s/then/than/ spelling errors 2012-03-23 16:49:21 -07:00
jiffies.c
Kconfig tick: Document TICK_ONESHOT config option 2012-03-31 12:45:43 +02:00
Makefile
ntp.c time: remove no_sync_cmos_clock 2012-03-23 16:25:20 -07:00
posix-clock.c
tick-broadcast.c clockevents: tTack broadcast device mode change in tick_broadcast_switch_to_oneshot() 2012-04-10 11:42:07 +02:00
tick-common.c
tick-internal.h
tick-oneshot.c
tick-sched.c nohz: Fix stale jiffies update in tick_nohz_restart() 2012-04-06 13:24:17 +02:00
timecompare.c
timeconv.c
timekeeping.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-03-29 14:16:48 -07:00
timer_list.c
timer_stats.c