diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2010-10-08 19:23:32 +0200 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-10-08 19:23:32 +0200 |
commit | 503923eeecb93ff69ee940549f314e0fe3a68429 (patch) | |
tree | fc07ee0f483c3e07a9d52d484c6a80987ed428de /arch/arm/mach-omap2/pm24xx.c | |
parent | omap: hwmod: Handle modules with 16bit registers (diff) | |
download | linux-503923eeecb93ff69ee940549f314e0fe3a68429.tar.xz linux-503923eeecb93ff69ee940549f314e0fe3a68429.zip |
OMAP2: PM: check UART status before trying to idle
As is done on OMAP3, check omap_uart_can_sleep() as one of the
pre-conditions for entering the idle loop. Without this check,
entering idle introduces large latencies on active UARTs, and is
especially noticable on serial console.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm24xx.c')
-rw-r--r-- | arch/arm/mach-omap2/pm24xx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c index 6aeedeacdad8..f5c7ef955942 100644 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@ -245,6 +245,8 @@ static int omap2_can_sleep(void) { if (omap2_fclks_active()) return 0; + if (!omap_uart_can_sleep()) + return 0; if (osc_ck->usecount > 1) return 0; if (omap_dma_running()) |