aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-10-05 19:51:17 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-11-04 06:25:58 -0500
commitd864c03bfce2449703c7f0544dac3fbaed347239 (patch)
tree2b0d18b0cdb08a3d44dadd93d25ba10d05d63e51 /drivers/tty
parentda5d01f23bc1ff710797a563ca3616df95395a12 (diff)
SERIAL: omap: remove setting of EFR SCD bit
The SCD (special character detect) bit enables comparisons with XOFF2, which we do not program. As the XOFF2 character remains unprogrammed, there's little point enabling this feature along with its associated interrupt. Remove this, and ensure that the SCD bit is cleared. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/omap-serial.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index f5b2f395af2..71f968b5504 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -704,13 +704,8 @@ serial_omap_configure_xonxoff
704 serial_out(up, UART_MCR, up->mcr | UART_MCR_TCRTLR); 704 serial_out(up, UART_MCR, up->mcr | UART_MCR_TCRTLR);
705 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); 705 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
706 serial_out(up, UART_TI752_TCR, OMAP_UART_TCR_TRIG); 706 serial_out(up, UART_TI752_TCR, OMAP_UART_TCR_TRIG);
707 /* Enable special char function UARTi.EFR_REG[5] and 707 serial_out(up, UART_EFR, up->efr);
708 * load the new software flow control mode IXON or IXOFF
709 * and restore the UARTi.EFR_REG[4] ENHANCED_EN value.
710 */
711 serial_out(up, UART_EFR, up->efr | UART_EFR_SCD);
712 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); 708 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);
713
714 serial_out(up, UART_MCR, up->mcr & ~UART_MCR_TCRTLR); 709 serial_out(up, UART_MCR, up->mcr & ~UART_MCR_TCRTLR);
715 serial_out(up, UART_LCR, up->lcr); 710 serial_out(up, UART_LCR, up->lcr);
716} 711}
@@ -843,6 +838,7 @@ serial_omap_set_termios(struct uart_port *port, struct ktermios *termios,
843 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); 838 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
844 839
845 up->efr = serial_in(up, UART_EFR); 840 up->efr = serial_in(up, UART_EFR);
841 up->efr &= ~UART_EFR_SCD;
846 serial_out(up, UART_EFR, up->efr | UART_EFR_ECB); 842 serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
847 843
848 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); 844 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);