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:05:43 +0100
commit322691f7b5723247651e5ae0ba3f9d5e531be4b5 (patch)
tree88625abaf09a511cfe392a336b7c0c8b044e06eb
parent399758c48f7680e0e80f67a2ad49207f51cb41dd (diff)
tty: serial: fsl_lpuart: set rxiden in non dma casetoradex_5.4-2.1.x-imx
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);