提交 86b0c1e3 编写于 作者: S Santosh Shilimkar 提交者: Kevin Hilman

omap: pm-debug: Move common debug code to pm-debug.c

This patch moves omap2_pm_wakeup_on_timer() and pm debug entries
form pm34xx.c to pm-debug.c and export it, so that it is available
to other OMAPs
Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
上级 b3294e23
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <plat/board.h> #include <plat/board.h>
#include <plat/powerdomain.h> #include <plat/powerdomain.h>
#include <plat/clockdomain.h> #include <plat/clockdomain.h>
#include <plat/dmtimer.h>
#include "prm.h" #include "prm.h"
#include "cm.h" #include "cm.h"
...@@ -353,6 +354,23 @@ void pm_dbg_update_time(struct powerdomain *pwrdm, int prev) ...@@ -353,6 +354,23 @@ void pm_dbg_update_time(struct powerdomain *pwrdm, int prev)
pwrdm->timer = t; pwrdm->timer = t;
} }
void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
{
u32 tick_rate, cycles;
if (!seconds && !milliseconds)
return;
tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
cycles = tick_rate * seconds + tick_rate * milliseconds / 1000;
omap_dm_timer_stop(gptimer_wakeup);
omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
pr_info("PM: Resume timer in %u.%03u secs"
" (%d ticks at %d ticks/sec.)\n",
seconds, milliseconds, cycles, tick_rate);
}
static int clkdm_dbg_show_counter(struct clockdomain *clkdm, void *user) static int clkdm_dbg_show_counter(struct clockdomain *clkdm, void *user)
{ {
struct seq_file *s = (struct seq_file *)user; struct seq_file *s = (struct seq_file *)user;
......
...@@ -48,9 +48,11 @@ extern struct omap_dm_timer *gptimer_wakeup; ...@@ -48,9 +48,11 @@ extern struct omap_dm_timer *gptimer_wakeup;
#ifdef CONFIG_PM_DEBUG #ifdef CONFIG_PM_DEBUG
extern void omap2_pm_dump(int mode, int resume, unsigned int us); extern void omap2_pm_dump(int mode, int resume, unsigned int us);
extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
extern int omap2_pm_debug; extern int omap2_pm_debug;
#else #else
#define omap2_pm_dump(mode, resume, us) do {} while (0); #define omap2_pm_dump(mode, resume, us) do {} while (0);
#define omap2_pm_wakeup_on_timer(seconds, milliseconds) do {} while (0);
#define omap2_pm_debug 0 #define omap2_pm_debug 0
#endif #endif
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include <plat/prcm.h> #include <plat/prcm.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/dma.h> #include <plat/dma.h>
#include <plat/dmtimer.h>
#include <asm/tlbflush.h> #include <asm/tlbflush.h>
...@@ -550,23 +549,6 @@ static void omap3_pm_idle(void) ...@@ -550,23 +549,6 @@ static void omap3_pm_idle(void)
#ifdef CONFIG_SUSPEND #ifdef CONFIG_SUSPEND
static suspend_state_t suspend_state; static suspend_state_t suspend_state;
static void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
{
u32 tick_rate, cycles;
if (!seconds && !milliseconds)
return;
tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
cycles = tick_rate * seconds + tick_rate * milliseconds / 1000;
omap_dm_timer_stop(gptimer_wakeup);
omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
pr_info("PM: Resume timer in %u.%03u secs"
" (%d ticks at %d ticks/sec.)\n",
seconds, milliseconds, cycles, tick_rate);
}
static int omap3_pm_prepare(void) static int omap3_pm_prepare(void)
{ {
disable_hlt(); disable_hlt();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册