aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/pm24xx.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@deeprootsystems.com>2010-10-08 10:23:32 -0700
committerTony Lindgren <tony@atomide.com>2010-10-08 10:23:32 -0700
commit503923eeecb93ff69ee940549f314e0fe3a68429 (patch)
treefc07ee0f483c3e07a9d52d484c6a80987ed428de /arch/arm/mach-omap2/pm24xx.c
parentcc7a1d2a540a780066aa562c651a88dd28b6fc8a (diff)
downloadlinux-2.6.38-lt-ux500-503923eeecb93ff69ee940549f314e0fe3a68429.tar.gz
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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index 6aeedeacdad..f5c7ef95594 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())