aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/xilinx_uartps.c
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2018-09-03 09:05:37 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-18 10:07:23 -0400
commit6ac1b91f346f7c489ef2a582b0c8c085fc51aabb (patch)
treefb352ee1958dff5aa4c2a09f5d29ceb0f7a0cf70 /drivers/tty/serial/xilinx_uartps.c
parentbed25ac0e2b6ab8f9aed2d20bc9c3a2037311800 (diff)
serial: uartps: Enable automatic flow control
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>
Diffstat (limited to 'drivers/tty/serial/xilinx_uartps.c')
-rw-r--r--drivers/tty/serial/xilinx_uartps.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index 0443edc1ad78..71c032744dae 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -1006,13 +1006,12 @@ static void cdns_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)
1006 val = readl(port->membase + CDNS_UART_MODEMCR); 1006 val = readl(port->membase + CDNS_UART_MODEMCR);
1007 mode_reg = readl(port->membase + CDNS_UART_MR); 1007 mode_reg = readl(port->membase + CDNS_UART_MR);
1008 1008
1009 val &= ~(CDNS_UART_MODEMCR_RTS | CDNS_UART_MODEMCR_DTR); 1009 val &= ~(CDNS_UART_MODEMCR_RTS | CDNS_UART_MODEMCR_DTR |
1010 CDNS_UART_MODEMCR_FCM);
1010 mode_reg &= ~CDNS_UART_MR_CHMODE_MASK; 1011 mode_reg &= ~CDNS_UART_MR_CHMODE_MASK;
1011 1012
1012 if (mctrl & TIOCM_RTS) 1013 if (mctrl & TIOCM_RTS || mctrl & TIOCM_DTR)
1013 val |= CDNS_UART_MODEMCR_RTS; 1014 val |= CDNS_UART_MODEMCR_FCM;
1014 if (mctrl & TIOCM_DTR)
1015 val |= CDNS_UART_MODEMCR_DTR;
1016 if (mctrl & TIOCM_LOOP) 1015 if (mctrl & TIOCM_LOOP)
1017 mode_reg |= CDNS_UART_MR_CHMODE_L_LOOP; 1016 mode_reg |= CDNS_UART_MR_CHMODE_L_LOOP;
1018 else 1017 else