diff options
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.patch | 16 |
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 - |