aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/cpuidle44xx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c
index 81386c6256eb..cfdbb86bc84e 100644
--- a/arch/arm/mach-omap2/cpuidle44xx.c
+++ b/arch/arm/mach-omap2/cpuidle44xx.c
@@ -14,6 +14,7 @@
14#include <linux/cpuidle.h> 14#include <linux/cpuidle.h>
15#include <linux/cpu_pm.h> 15#include <linux/cpu_pm.h>
16#include <linux/export.h> 16#include <linux/export.h>
17#include <linux/clockchips.h>
17 18
18#include <asm/proc-fns.h> 19#include <asm/proc-fns.h>
19 20
@@ -65,6 +66,7 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
65 u32 cpu1_state; 66 u32 cpu1_state;
66 int idle_time; 67 int idle_time;
67 int new_state_idx; 68 int new_state_idx;
69 int cpu_id = smp_processor_id();
68 70
69 /* Used to keep track of the total time in idle */ 71 /* Used to keep track of the total time in idle */
70 getnstimeofday(&ts_preidle); 72 getnstimeofday(&ts_preidle);
@@ -86,6 +88,9 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
86 cx = cpuidle_get_statedata(&dev->states_usage[new_state_idx]); 88 cx = cpuidle_get_statedata(&dev->states_usage[new_state_idx]);
87 } 89 }
88 90
91 if (index > 0)
92 clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu_id);
93
89 /* 94 /*
90 * Call idle CPU PM enter notifier chain so that 95 * Call idle CPU PM enter notifier chain so that
91 * VFP and per CPU interrupt context is saved. 96 * VFP and per CPU interrupt context is saved.
@@ -121,6 +126,9 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
121 if (omap4_mpuss_read_prev_context_state()) 126 if (omap4_mpuss_read_prev_context_state())
122 cpu_cluster_pm_exit(); 127 cpu_cluster_pm_exit();
123 128
129 if (index > 0)
130 clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu_id);
131
124 getnstimeofday(&ts_postidle); 132 getnstimeofday(&ts_postidle);
125 ts_idle = timespec_sub(ts_postidle, ts_preidle); 133 ts_idle = timespec_sub(ts_postidle, ts_preidle);
126 134