aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch')
-rw-r--r--target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch16
1 files changed, 6 insertions, 10 deletions
diff --git a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
index 0a117f668f..82715b0cda 100644
--- a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
+++ b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
@@ -19,8 +19,6 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
drivers/tty/serial/imx.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index 76818f5..086675e 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -148,8 +148,11 @@
@@ -35,7 +33,7 @@ index 76818f5..086675e 100644
#define USR2_RTSF (1<<4) /* RTS edge interrupt flag */
#define USR2_TXDC (1<<3) /* Transmitter complete */
#define USR2_BRCD (1<<2) /* Break condition */
-@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct uart_port *port)
+@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct
static unsigned int imx_get_mctrl(struct uart_port *port)
{
struct imx_port *sport = (struct imx_port *)port;
@@ -49,19 +47,20 @@ index 76818f5..086675e 100644
- if (readl(sport->port.membase + UCR2) & UCR2_CTS)
- tmp |= TIOCM_RTS;
+-
+- if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP)
+- tmp |= TIOCM_LOOP;
+ /* in DCE mode DCDIN is always 0 */
+ if (!(usr1 & USR2_DCDIN))
+ tmp |= TIOCM_CAR;
-
-- if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP)
-- tmp |= TIOCM_LOOP;
++
+ /* in DCE mode RIIN is always 0 */
+ if (readl(sport->port.membase + USR2) & USR2_RIIN)
+ tmp |= TIOCM_RI;
return tmp;
}
-@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_port *port, unsigned int mctrl)
+@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_po
writel(temp, sport->port.membase + UCR2);
}
@@ -73,6 +72,3 @@ index 76818f5..086675e 100644
temp = readl(sport->port.membase + uts_reg(sport)) & ~UTS_LOOP;
if (mctrl & TIOCM_LOOP)
temp |= UTS_LOOP;
---
-1.9.1
-