From 322691f7b5723247651e5ae0ba3f9d5e531be4b5 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 21 Jan 2021 15:00:40 +0100 Subject: tty: serial: fsl_lpuart: set rxiden in non dma case In the case of not using edma set the RXIDEN field. This sets the RDRF flag even if there are received characters in the FIFO and the receiver has been idle for the specified number of characters. Related-to: ELB-3517 Signed-off-by: Max Krummenacher --- drivers/tty/serial/fsl_lpuart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index f460ac06ffa5..37e727ccbd8b 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -1714,7 +1714,8 @@ static void lpuart32_setup_watermark(struct lpuart_port *sport) val |= UARTFIFO_TXFE | UARTFIFO_RXFE; val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH; val &= ~(UARTFIFO_RXIDEN_MASK << UARTFIFO_RXIDEN_OFF); - rxiden_cnt = sport->dma_eeop ? 0 : UARTFIFO_RXIDEN_RDRF; + rxiden_cnt = (sport->dma_eeop && sport->lpuart_dma_rx_use) ? + 0 : UARTFIFO_RXIDEN_RDRF; val |= ((rxiden_cnt & UARTFIFO_RXIDEN_MASK) << UARTFIFO_RXIDEN_OFF); lpuart32_write(&sport->port, val, UARTFIFO); -- cgit v1.2.3