summaryrefslogtreecommitdiff
path: root/drivers/tty/serial/fsl_lpuart.c
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 /drivers/tty/serial/fsl_lpuart.c
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>
Diffstat (limited to 'drivers/tty/serial/fsl_lpuart.c')
-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);