Revert "OMAP: UART: Keep the TX fifo full when possible"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2013 23:02:18 +0000 (16:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Aug 2013 23:02:18 +0000 (16:02 -0700)
This reverts commit c4415084218c68c5ee2fc583431e89a78d896b19.

Kevin writes:
Hmm, another OMAP serial patch that wasn't Cc'd to linux-omap
where OMAP users might have seen it. :(

I just bisected a strange problem in linux-next on OMAP3 down to
this patch.  Reverting it fixes the problem.

On OMAP3530 Beagle and Overo, after boot, doing a 'cat
/proc/cpuinfo' was not returning to a prompt, suggesting
something strange with the FIFO.  Hitting return gets me back to
a prompt.

Greg, this one should also be dropped from tty-next until it can
be further investgated and the problem solved.

Reported-by: Kevin Hilman <khilman@linaro.org>
Cc: Dmitry Fink <finik@ti.com>
Cc: Alexander Savchenko <oleksandr.savchenko@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/omap-serial.c
include/uapi/linux/serial_reg.h

index b0f46e6..816d1a2 100644 (file)
@@ -350,8 +350,7 @@ static void transmit_chars(struct uart_omap_port *up, unsigned int lsr)
                serial_omap_stop_tx(&up->port);
                return;
        }
-       count = up->port.fifosize -
-               (serial_in(up, UART_OMAP_TXFIFO_LVL) & 0xFF);
+       count = up->port.fifosize / 4;
        do {
                serial_out(up, UART_TX, xmit->buf[xmit->tail]);
                xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
index 97c26be..e632260 100644 (file)
 #define UART_OMAP_MDR1_FIR_MODE                0x05    /* FIR mode */
 #define UART_OMAP_MDR1_CIR_MODE                0x06    /* CIR mode */
 #define UART_OMAP_MDR1_DISABLE         0x07    /* Disable (default state) */
-#define UART_OMAP_TXFIFO_LVL           0x1A    /* TX FIFO fullness */
 
 /*
  * These are definitions for the Exar XR17V35X and XR17(C|D)15X