projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'imx-defconfig' of git://git.pengutronix.de/git/imx/linux-2.6 into next...
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
drivers
/
tty
/
serial
/
mxs-auart.c
diff --git
a/drivers/tty/serial/mxs-auart.c
b/drivers/tty/serial/mxs-auart.c
index
2e341b8
..
3a667ee
100644
(file)
--- a/
drivers/tty/serial/mxs-auart.c
+++ b/
drivers/tty/serial/mxs-auart.c
@@
-73,6
+73,7
@@
#define AUART_CTRL0_CLKGATE (1 << 30)
#define AUART_CTRL2_CTSEN (1 << 15)
#define AUART_CTRL0_CLKGATE (1 << 30)
#define AUART_CTRL2_CTSEN (1 << 15)
+#define AUART_CTRL2_RTSEN (1 << 14)
#define AUART_CTRL2_RTS (1 << 11)
#define AUART_CTRL2_RXE (1 << 9)
#define AUART_CTRL2_TXE (1 << 8)
#define AUART_CTRL2_RTS (1 << 11)
#define AUART_CTRL2_RXE (1 << 9)
#define AUART_CTRL2_TXE (1 << 8)
@@
-259,9
+260,12
@@
static void mxs_auart_set_mctrl(struct uart_port *u, unsigned mctrl)
u32 ctrl = readl(u->membase + AUART_CTRL2);
u32 ctrl = readl(u->membase + AUART_CTRL2);
- ctrl &= ~AUART_CTRL2_RTS;
- if (mctrl & TIOCM_RTS)
- ctrl |= AUART_CTRL2_RTS;
+ ctrl &= ~AUART_CTRL2_RTSEN;
+ if (mctrl & TIOCM_RTS) {
+ if (u->state->port.flags & ASYNC_CTS_FLOW)
+ ctrl |= AUART_CTRL2_RTSEN;
+ }
+
s->ctrl = mctrl;
writel(ctrl, u->membase + AUART_CTRL2);
}
s->ctrl = mctrl;
writel(ctrl, u->membase + AUART_CTRL2);
}
@@
-359,9
+363,9
@@
static void mxs_auart_settermios(struct uart_port *u,
/* figure out the hardware flow control settings */
if (cflag & CRTSCTS)
/* figure out the hardware flow control settings */
if (cflag & CRTSCTS)
- ctrl2 |= AUART_CTRL2_CTSEN;
+ ctrl2 |= AUART_CTRL2_CTSEN
| AUART_CTRL2_RTSEN
;
else
else
- ctrl2 &= ~
AUART_CTRL2_CTSEN
;
+ ctrl2 &= ~
(AUART_CTRL2_CTSEN | AUART_CTRL2_RTSEN)
;
/* set baud rate */
baud = uart_get_baud_rate(u, termios, old, 0, u->uartclk);
/* set baud rate */
baud = uart_get_baud_rate(u, termios, old, 0, u->uartclk);