diff options
-rw-r--r-- | arch/arm/mach-omap2/cpuidle44xx.c | 8 |
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 | ||