From f304d79d0c630d748c232bb0cd00beeb512c746e Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Wed, 16 Mar 2011 17:04:19 +0800 Subject: [PATCH] rk29: pm: better and faster printch --- arch/arm/mach-rk29/pm.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-rk29/pm.c b/arch/arm/mach-rk29/pm.c index d41112c9c251..db1e8cffbfd9 100644 --- a/arch/arm/mach-rk29/pm.c +++ b/arch/arm/mach-rk29/pm.c @@ -61,9 +61,9 @@ static void inline printch(char byte) writel(byte, RK29_UART1_BASE); - delay = (cru_readl(CRU_MODE_CON) & CRU_CPU_MODE_MASK) ? 10 : 1; - while (delay--) - delay_300us(); + /* loop check LSR[6], Transmitter Empty bit */ + while (!(readl(RK29_UART1_BASE + 0x14) & 0x40)) + barrier(); cru_writel(gate2, CRU_CLKGATE2_CON); cru_writel(gate1, CRU_CLKGATE1_CON); @@ -150,7 +150,9 @@ static void __sramfunc rk29_sram_suspend(void) /* set arm clk 24MHz/32 = 750KHz */ cru_writel(clksel0 | 0x1F, CRU_CLKSEL0_CON); + printch('8'); asm("wfi"); + printch('8'); /* resume arm clk */ cru_writel(clksel0, CRU_CLKSEL0_CON); -- 2.34.1