serial: imx: do not disable individual irqs during termios change
authorSergey Organov <sorganov@gmail.com>
Wed, 28 Aug 2019 18:37:53 +0000 (21:37 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Sep 2019 10:43:55 +0000 (12:43 +0200)
imx_set_termios(): disabling individual interrupt requests in UART for
duration of the routine is pointless. Get rid of it.

Signed-off-by: Sergey Organov <sorganov@gmail.com>
Link: https://lore.kernel.org/r/1567017475-11919-4-git-send-email-sorganov@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index fa723a9a9c8c838b5625ba5d8b6ceb36f9ca5d53..cc3783c0a7edf645b3456c69693fa8e9813993f9 100644 (file)
@@ -1541,7 +1541,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
 {
        struct imx_port *sport = (struct imx_port *)port;
        unsigned long flags;
-       u32 ucr2, old_ucr1, old_ucr2, ufcr;
+       u32 ucr2, old_ucr2, ufcr;
        unsigned int baud, quot;
        unsigned int old_csize = old ? old->c_cflag & CSIZE : CS8;
        unsigned long div;
@@ -1643,15 +1643,6 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
         */
        uart_update_timeout(port, termios->c_cflag, baud);
 
-       /*
-        * disable interrupts
-        */
-       old_ucr1 = imx_uart_readl(sport, UCR1);
-       imx_uart_writel(sport,
-                       old_ucr1 & ~(UCR1_TXMPTYEN | UCR1_RRDYEN | UCR1_RTSDEN),
-                       UCR1);
-       imx_uart_writel(sport, old_ucr2 & ~UCR2_ATEN, UCR2);
-
        /* custom-baudrate handling */
        div = sport->port.uartclk / (baud * 16);
        if (baud == 38400 && quot != div)
@@ -1686,8 +1677,6 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
                imx_uart_writel(sport, sport->port.uartclk / div / 1000,
                                IMX21_ONEMS);
 
-       imx_uart_writel(sport, old_ucr1, UCR1);
-
        imx_uart_writel(sport, ucr2, UCR2);
 
        if (UART_ENABLE_MS(&sport->port, termios->c_cflag))