diff options
| -rw-r--r-- | arch/arm/mach-omap2/pm-debug.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c index 5e81517a7af2..a8afb610c7d8 100644 --- a/arch/arm/mach-omap2/pm-debug.c +++ b/arch/arm/mach-omap2/pm-debug.c | |||
| @@ -161,6 +161,23 @@ void omap2_pm_dump(int mode, int resume, unsigned int us) | |||
| 161 | printk(KERN_INFO "%-20s: 0x%08x\n", regs[i].name, regs[i].val); | 161 | printk(KERN_INFO "%-20s: 0x%08x\n", regs[i].name, regs[i].val); |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds) | ||
| 165 | { | ||
| 166 | u32 tick_rate, cycles; | ||
| 167 | |||
| 168 | if (!seconds && !milliseconds) | ||
| 169 | return; | ||
| 170 | |||
| 171 | tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup)); | ||
| 172 | cycles = tick_rate * seconds + tick_rate * milliseconds / 1000; | ||
| 173 | omap_dm_timer_stop(gptimer_wakeup); | ||
| 174 | omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles); | ||
| 175 | |||
| 176 | pr_info("PM: Resume timer in %u.%03u secs" | ||
| 177 | " (%d ticks at %d ticks/sec.)\n", | ||
| 178 | seconds, milliseconds, cycles, tick_rate); | ||
| 179 | } | ||
| 180 | |||
| 164 | #ifdef CONFIG_DEBUG_FS | 181 | #ifdef CONFIG_DEBUG_FS |
| 165 | #include <linux/debugfs.h> | 182 | #include <linux/debugfs.h> |
| 166 | #include <linux/seq_file.h> | 183 | #include <linux/seq_file.h> |
| @@ -354,23 +371,6 @@ void pm_dbg_update_time(struct powerdomain *pwrdm, int prev) | |||
| 354 | pwrdm->timer = t; | 371 | pwrdm->timer = t; |
| 355 | } | 372 | } |
| 356 | 373 | ||
| 357 | void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds) | ||
| 358 | { | ||
| 359 | u32 tick_rate, cycles; | ||
| 360 | |||
| 361 | if (!seconds && !milliseconds) | ||
| 362 | return; | ||
| 363 | |||
| 364 | tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup)); | ||
| 365 | cycles = tick_rate * seconds + tick_rate * milliseconds / 1000; | ||
| 366 | omap_dm_timer_stop(gptimer_wakeup); | ||
| 367 | omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles); | ||
| 368 | |||
| 369 | pr_info("PM: Resume timer in %u.%03u secs" | ||
| 370 | " (%d ticks at %d ticks/sec.)\n", | ||
| 371 | seconds, milliseconds, cycles, tick_rate); | ||
| 372 | } | ||
| 373 | |||
| 374 | static int clkdm_dbg_show_counter(struct clockdomain *clkdm, void *user) | 374 | static int clkdm_dbg_show_counter(struct clockdomain *clkdm, void *user) |
| 375 | { | 375 | { |
| 376 | struct seq_file *s = (struct seq_file *)user; | 376 | struct seq_file *s = (struct seq_file *)user; |
