sh: drain and wait for early printk
PATCH 1/1 sh: drain and wait for early printk
Drain by waiting for all characters to be sent, and make sure to wait a little bit after setting up the baud rate.
Signed-off-by Magnus Damm <[email protected]>
---
arch/sh/kernel/early_printk.c | 6 ++++++ 1 file changed, 6 insertions(+)
arch/sh/kernel/early_printk.c +6 -0
@@ -143,6 +143,7 @@ static void scif_sercon_init(char *s) {struct uart_port *port = &scif_port;unsigned baud =DEFAULT_BAUD ; +unsigned int status;char *e;if (*s =',' )
@@ -161,12 +162,17 @@ static void scif_sercon_init(char *s) baud =DEFAULT_BAUD ; } +do { + status =sci_in (port, SCxSR); + }while (!(status &SCxSR_TEND (port))); +sci_out (port,SCSCR ,0 );/* TE=0, RE=0 */ sci_out (port,SCSMR ,0 );/* Set baud rate */ sci_out (port,SCBRR , (CONFIG_SH_PCLK_FREQ +16 * baud) / (32 * baud) -1 ); +udelay ((1000000 +(baud-1 )) / baud);/* Wait one bit interval */ sci_out (port,SCFCR ,12 );sci_out (port,SCFCR ,8 );