Commit 957ee727 authored by Vikram Pandita's avatar Vikram Pandita Committed by Greg Kroah-Hartman

serial: omap: fix software flow control

Software flow control register bits were not defined correctly.

Also clarify the IXON and IXOFF logic to reflect what userspace wants.

Cc: stable@vger.kernel.org
Tested-by: default avatarShubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: default avatarVikram Pandita <vikram.pandita@ti.com>
Signed-off-by: default avatarShubhrajyoti D <shubhrajyoti@ti.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a6b19c33
...@@ -42,10 +42,10 @@ ...@@ -42,10 +42,10 @@
#define OMAP_UART_WER_MOD_WKUP 0X7F #define OMAP_UART_WER_MOD_WKUP 0X7F
/* Enable XON/XOFF flow control on output */ /* Enable XON/XOFF flow control on output */
#define OMAP_UART_SW_TX 0x04 #define OMAP_UART_SW_TX 0x8
/* Enable XON/XOFF flow control on input */ /* Enable XON/XOFF flow control on input */
#define OMAP_UART_SW_RX 0x04 #define OMAP_UART_SW_RX 0x2
#define OMAP_UART_SYSC_RESET 0X07 #define OMAP_UART_SYSC_RESET 0X07
#define OMAP_UART_TCR_TRIG 0X0F #define OMAP_UART_TCR_TRIG 0X0F
......
...@@ -617,19 +617,19 @@ serial_omap_configure_xonxoff ...@@ -617,19 +617,19 @@ serial_omap_configure_xonxoff
/* /*
* IXON Flag: * IXON Flag:
* Enable XON/XOFF flow control on output. * Flow control for OMAP.TX
* Transmit XON1, XOFF1 * OMAP.RX should listen for XON/XOFF
*/ */
if (termios->c_iflag & IXON) if (termios->c_iflag & IXON)
up->efr |= OMAP_UART_SW_TX; up->efr |= OMAP_UART_SW_RX;
/* /*
* IXOFF Flag: * IXOFF Flag:
* Enable XON/XOFF flow control on input. * Flow control for OMAP.RX
* Receiver compares XON1, XOFF1. * OMAP.TX should send XON/XOFF
*/ */
if (termios->c_iflag & IXOFF) if (termios->c_iflag & IXOFF)
up->efr |= OMAP_UART_SW_RX; up->efr |= OMAP_UART_SW_TX;
serial_out(up, UART_EFR, up->efr | UART_EFR_ECB); serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment