summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2021-01-21 15:00:40 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2021-02-01 10:47:56 +0100
commit35a34002c3c946195d72a12aa7cae91a21cdfb0a (patch)
tree26b07dced931f49bb41066a00e905dc12beee4ca
parentbd1f6dd6086ed960602c2a19ea19baccb8501204 (diff)
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 <max.krummenacher@toradex.com>
-rw-r--r--drivers/tty/serial/fsl_lpuart.c3
1 files changed, 2 insertions, 1 deletions
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);