OMAP/serial: Fix incorrect Rx FIFO threshold setting, LSR validation on Tx, and Tx...
authorAlexey Pelykh <alexey.pelykh@gmail.com>
Mon, 4 Feb 2013 17:19:46 +0000 (12:19 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Feb 2013 19:13:16 +0000 (11:13 -0800)
commit1776fd059c40907297d6c26c51876575d63fd9e2
tree0c035fb2962efd0a5047538323c30a5f3794252f
parentf26402e81743d06b938a388925904bd47763277a
OMAP/serial: Fix incorrect Rx FIFO threshold setting, LSR validation on Tx, and Tx FIFO IRQ generation

Original configuration of Rx FIFO threshold contained an error
that resulted Rx threshold to be effectively set to 1 character
instead of 16 characters, as noted in comments.
Checking LSR to contain UART_LSR_THRE bit set caused issue when
not all UART_IER_THRI interrupts have been properly handled.
This caused gap in Tx data, visible on high baud rates using
oscilloscope.
Setting OMAP_UART_SCR_TX_EMPTY bit in SCR caused UART_IER_THRI
interrupt to be raised only when Tx FIFO and Tx shift registers
are empty.

Signed-off-by: Alexey Pelykh <alexey.pelykh@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/omap-serial.c