Browse Source

serial: imx: setup fifo waterlevel before enabling aging timer

The aging timer fires if there are characters in the RX fifo but the
water level isn't reached yet. Make sure that the waterlevel is
configured before the aging timer is enabled to trigger a DMA request
(UCR1_ATDMAEN).

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Uwe Kleine-König 7 years ago
parent
commit
02b0abd3bb
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/tty/serial/imx.c

+ 2 - 2
drivers/tty/serial/imx.c

@@ -1239,13 +1239,13 @@ static void imx_enable_dma(struct imx_port *sport)
 {
 	u32 ucr1;
 
+	imx_setup_ufcr(sport, TXTL_DMA, RXTL_DMA);
+
 	/* set UCR1 */
 	ucr1 = imx_uart_readl(sport, UCR1);
 	ucr1 |= UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN;
 	imx_uart_writel(sport, ucr1, UCR1);
 
-	imx_setup_ufcr(sport, TXTL_DMA, RXTL_DMA);
-
 	sport->dma_is_enabled = 1;
 }