mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-05 15:56:40 +07:00
SERIAL: omap: move xon/xoff setting earlier
Take advantage of the switch to mode B for accessing the TCR register, and move the xon/xoff configuration there. This allows further simplication of this sequence. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
c7d059cae3
commit
c533e51b22
@ -898,16 +898,20 @@ serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
else
|
||||
serial_out(up, UART_OMAP_MDR1, up->mdr1);
|
||||
|
||||
/* Enable access to TCR/TLR */
|
||||
/* Configure flow control */
|
||||
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
|
||||
|
||||
/* XON1/XOFF1 accessible mode B, TCRTLR=0, ECB=0 */
|
||||
serial_out(up, UART_XON1, termios->c_cc[VSTART]);
|
||||
serial_out(up, UART_XOFF1, termios->c_cc[VSTOP]);
|
||||
|
||||
/* Enable access to TCR/TLR */
|
||||
serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
|
||||
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);
|
||||
serial_out(up, UART_MCR, up->mcr | UART_MCR_TCRTLR);
|
||||
|
||||
serial_out(up, UART_TI752_TCR, OMAP_UART_TCR_TRIG);
|
||||
|
||||
/* Hardware Flow Control Configuration */
|
||||
|
||||
if (termios->c_cflag & CRTSCTS && up->port.flags & UPF_HARD_FLOW) {
|
||||
/* Enable AUTORTS and AUTOCTS */
|
||||
up->efr |= UART_EFR_CTS | UART_EFR_RTS;
|
||||
@ -925,9 +929,6 @@ serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
|
||||
serial_out(up, UART_EFR, up->efr);
|
||||
|
||||
serial_out(up, UART_XON1, termios->c_cc[VSTART]);
|
||||
serial_out(up, UART_XOFF1, termios->c_cc[VSTOP]);
|
||||
|
||||
/* clear SW control mode bits */
|
||||
up->efr &= OMAP_UART_SW_CLR;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user