[POWERPC] Uartlite: speed up console output
Change the wait_tx routine to call cpu_relax() instead of udelay() to reduce console output latency and test for the TXFULL bit instead of TXEMPTY. That way the FIFO doesn't need to by 100% flushed before writing the next character. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
This commit is contained in:
@@ -329,12 +329,14 @@ static struct uart_ops ulite_ops = {
|
|||||||
static void ulite_console_wait_tx(struct uart_port *port)
|
static void ulite_console_wait_tx(struct uart_port *port)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
u8 val;
|
||||||
|
|
||||||
/* wait up to 10ms for the character(s) to be sent */
|
/* Spin waiting for TX fifo to have space available */
|
||||||
for (i = 0; i < 10000; i++) {
|
for (i = 0; i < 100000; i++) {
|
||||||
if (readb(port->membase + ULITE_STATUS) & ULITE_STATUS_TXEMPTY)
|
val = readb(port->membase + ULITE_STATUS);
|
||||||
|
if ((val & ULITE_STATUS_TXFULL) == 0)
|
||||||
break;
|
break;
|
||||||
udelay(1);
|
cpu_relax();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user