• Alexey Pelykh's avatar
    OMAP/serial: Fix incorrect Rx FIFO threshold setting, LSR validation on Tx,... · 1776fd05
    Alexey Pelykh authored
    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: default avatarAlexey Pelykh <alexey.pelykh@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    1776fd05
omap-serial.c 42.7 KB