summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitul Golani <mgolani@codeaurora.org>2019-04-29 18:25:00 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2019-05-20 02:51:25 -0700
commit095ed32dd71f95c4e6ed67b197ed82acb9f82c71 (patch)
tree4d426aee3bef55073c91fa66b942c8c93bfb5b4c
parent4efd54ad69f12f04a2dea6c5650e11b7421bc4e0 (diff)
serial: msm_serial_hs: Align to HW assisted flow control support
If client enables HW AUTOCTS mode then set UPSTAT_AUTOCTS,otherwise serial core disables TX fully at the framework layer and no communication happens. Signed-off-by: Mitul Golani <mgolani@codeaurora.org> Change-Id: I13d6048fc2aeacd2f0078fc38f43e07cfd5a5850
-rw-r--r--drivers/tty/serial/msm_serial_hs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/tty/serial/msm_serial_hs.c b/drivers/tty/serial/msm_serial_hs.c
index 064494366f01..9a9ea7c62db1 100644
--- a/drivers/tty/serial/msm_serial_hs.c
+++ b/drivers/tty/serial/msm_serial_hs.c
@@ -3,7 +3,7 @@
* MSM 7k High speed uart driver
*
* Copyright (c) 2008 Google Inc.
- * Copyright (c) 2007-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2007-2019, The Linux Foundation. All rights reserved.
* Modified: Nick Pelly <npelly@google.com>
*
* All source code in this file is licensed under the following license
@@ -1185,6 +1185,7 @@ static void msm_hs_set_termios(struct uart_port *uport,
data |= EIGHT_BPC;
break;
}
+ uport->status &= ~(UPSTAT_AUTOCTS);
/* stop bits */
if (c_cflag & CSTOPB) {
data |= STOP_BIT_TWO;
@@ -1229,6 +1230,7 @@ static void msm_hs_set_termios(struct uart_port *uport,
if (c_cflag & CRTSCTS) {
data |= UARTDM_MR1_CTS_CTL_BMSK;
data |= UARTDM_MR1_RX_RDY_CTL_BMSK;
+ uport->status |= UPSTAT_AUTOCTS;
msm_uport->flow_control = true;
}
msm_hs_write(uport, UART_DM_MR1, data);