[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] drivers/exynos4210: Wait the end of last transfer before initializing the UART
On Wed, 2013-05-22 at 12:50 +0100, Julien Grall wrote: > When early printk is enabled by the user, it's possible to loose the last > characters if the UART is initialized without waiting that the last transfer > was completed. It might actually be useful to do this in early_printk, i.e. a new early_uart_flush or so called from puts and early_puts (or even just from the putch hook). Any opinions? Perhaps we should take this fix as is for 4.3 and look at the alternatives for 4.4? > Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> > --- > xen/drivers/char/exynos4210-uart.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/xen/drivers/char/exynos4210-uart.c > b/xen/drivers/char/exynos4210-uart.c > index f7971da..13758d4 100644 > --- a/xen/drivers/char/exynos4210-uart.c > +++ b/xen/drivers/char/exynos4210-uart.c > @@ -104,6 +104,12 @@ static void __init exynos4210_uart_init_preirq(struct > serial_port *port) > unsigned int divisor; > uint32_t ulcon; > > +#ifdef EARLY_PRINTK > + /* Flush the UART */ > + while ( !(exynos4210_read(uart, UTRSTAT) & UTRSTAT_TX_EMPTY) ) > + cpu_relax(); > +#endif > + > /* reset, TX/RX disables */ > exynos4210_write(uart, UCON, 0); > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |