Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -42,10 +42,10 @@
#define OMAP_UART_WER_MOD_WKUP	0X7F

/* 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 */
#define OMAP_UART_SW_RX		0x04
#define OMAP_UART_SW_RX		0x2

#define OMAP_UART_SYSC_RESET	0X07
#define OMAP_UART_TCR_TRIG	0X0F
+6 −6
Original line number Diff line number Diff line
@@ -617,19 +617,19 @@ serial_omap_configure_xonxoff

	/*
	 * IXON Flag:
	 * Enable XON/XOFF flow control on output.
	 * Transmit XON1, XOFF1
	 * Flow control for OMAP.TX
	 * OMAP.RX should listen for XON/XOFF
	 */
	if (termios->c_iflag & IXON)
		up->efr |= OMAP_UART_SW_TX;
		up->efr |= OMAP_UART_SW_RX;

	/*
	 * IXOFF Flag:
	 * Enable XON/XOFF flow control on input.
	 * Receiver compares XON1, XOFF1.
	 * Flow control for OMAP.RX
	 * OMAP.TX should send XON/XOFF
	 */
	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_LCR, UART_LCR_CONF_MODE_A);