serial: fsl_lpuart: consider TX FIFO too in lpuart32_tx_empty

The commit 3876a00fcb6b ("tty: serial: fsl_lpuart: consider TX FIFO
too in tx_empty") fixed lpuart_tx_empty only.
Fix lpuart32_tx_empty too.

Signed-off-by: Atsushi Nemoto <atsushi.nemoto@sord.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Atsushi Nemoto 2019-01-21 17:37:28 +09:00 коммит произвёл Greg Kroah-Hartman
Родитель b0b2735a2b
Коммит 46dd6d779d
1 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -664,8 +664,18 @@ static unsigned int lpuart_tx_empty(struct uart_port *port)
static unsigned int lpuart32_tx_empty(struct uart_port *port)
{
return (lpuart32_read(port, UARTSTAT) & UARTSTAT_TC) ?
TIOCSER_TEMT : 0;
struct lpuart_port *sport = container_of(port,
struct lpuart_port, port);
unsigned long stat = lpuart32_read(port, UARTSTAT);
unsigned long sfifo = lpuart32_read(port, UARTFIFO);
if (sport->dma_tx_in_progress)
return 0;
if (stat & UARTSTAT_TC && sfifo & UARTFIFO_TXEMPT)
return TIOCSER_TEMT;
return 0;
}
static bool lpuart_is_32(struct lpuart_port *sport)