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>
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 23d5918..9b92c49 100644
--- a/drivers/tty/serial/imx.c
+++ b/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;
}