diff options
| author | Jim Wylder <jwylder@motorola.com> | 2014-06-10 18:45:47 -0500 |
|---|---|---|
| committer | James Wylder <jwylder@motorola.com> | 2014-06-12 23:09:59 +0000 |
| commit | a4e09fc2521f555996c477da4355cf18f9965ce4 (patch) | |
| tree | ca2cf9f66b802268f3710e999be2b4ceacf6e1ee | |
| parent | 7ddadb752771a4c6b8f585a7278946d3d664a861 (diff) | |
| download | olio-linux-3.10-a4e09fc2521f555996c477da4355cf18f9965ce4.tar.xz olio-linux-3.10-a4e09fc2521f555996c477da4355cf18f9965ce4.zip | |
IKXCLOCK-2206 arm: omap3: show time in suspend state
Change-Id: If5ca56a0161efe5e02fec93003f4394756ee99d9
Signed-off-by: Jim Wylder <jwylder@motorola.com>
| -rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 6daf94a0223..6f67bfa0b03 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -63,6 +63,7 @@ u16 pm34xx_errata; bool suspend_debug; bool suspend_offmode_ref_saved; +static struct timespec suspend_time_before; struct power_state { struct powerdomain *pwrdm; @@ -431,6 +432,7 @@ static int omap3_pm_suspend(void) { struct power_state *pwrst; int state, ret = 0; + struct timespec after; suspend_debug = true; @@ -445,6 +447,8 @@ static int omap3_pm_suspend(void) goto restore; } + read_persistent_clock(&suspend_time_before); + omap3_intc_suspend(); omap_sram_idle(true); @@ -452,6 +456,9 @@ static int omap3_pm_suspend(void) prcm_handle_pad_wkup(); restore: + read_persistent_clock(&after); + after = timespec_sub(after, suspend_time_before); + /* Restore next_pwrsts */ list_for_each_entry(pwrst, &pwrst_list, node) { state = pwrdm_read_prev_pwrst(pwrst->pwrdm); @@ -463,7 +470,10 @@ restore: omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); } if (ret) { - pr_err("Could not enter target state in pm_suspend\n"); + pr_err("Could not enter target state in pm_suspend " + "for %lu.%03lu seconds\n", after.tv_sec, + after.tv_nsec / NSEC_PER_MSEC); + if (suspend_offmode_ref_saved) { pm_dbg_regs_dump_delta(1, 3); pm_dbg_regs_dump_delta(2, 4); @@ -472,7 +482,9 @@ restore: pm_dbg_regs_dump(2); } } else - pr_info("Successfully put all powerdomains to target state\n"); + pr_info("Successfully put all powerdomains to target state " + "for %lu.%03lu seconds\n", after.tv_sec, + after.tv_nsec / NSEC_PER_MSEC); pm_dbg_show_wakeup_source(); |