serial: uartps: Enable automatic flow control
authorMichal Simek <michal.simek@xilinx.com>
Mon, 3 Sep 2018 13:05:37 +0000 (15:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Sep 2018 14:07:23 +0000 (16:07 +0200)
Enable automatic flow control which should ensure that there is no
mainteinance in connection for zcu100 BT case.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Nava kishore Manne <navam@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/xilinx_uartps.c

index 0443edc1ad7804a6001618fabc7c7cc1aa30c541..71c032744dae33c37fdab342d321c43ef3662af9 100644 (file)
@@ -1006,13 +1006,12 @@ static void cdns_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
        val = readl(port->membase + CDNS_UART_MODEMCR);
        mode_reg = readl(port->membase + CDNS_UART_MR);
 
-       val &= ~(CDNS_UART_MODEMCR_RTS | CDNS_UART_MODEMCR_DTR);
+       val &= ~(CDNS_UART_MODEMCR_RTS | CDNS_UART_MODEMCR_DTR |
+                CDNS_UART_MODEMCR_FCM);
        mode_reg &= ~CDNS_UART_MR_CHMODE_MASK;
 
-       if (mctrl & TIOCM_RTS)
-               val |= CDNS_UART_MODEMCR_RTS;
-       if (mctrl & TIOCM_DTR)
-               val |= CDNS_UART_MODEMCR_DTR;
+       if (mctrl & TIOCM_RTS || mctrl & TIOCM_DTR)
+               val |= CDNS_UART_MODEMCR_FCM;
        if (mctrl & TIOCM_LOOP)
                mode_reg |= CDNS_UART_MR_CHMODE_L_LOOP;
        else