On 04/07/2016 01:37 PM, Andy Shevchenko wrote: > Intel Quark has 16550A compatible UART with autoflow feature enabled. It has > only 16 bytes of FIFO. Currently serial8250_do_set_termios() prevents to enable > autoflow since the minimum requirement of 32 bytes of FIFO size. > > Decrease a FIFO size limitation to 16 bytes to allow autoflow control be > enabled on such UARTs. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > drivers/tty/serial/8250/8250_port.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c > index e213da0..3f8121e 100644 > --- a/drivers/tty/serial/8250/8250_port.c > +++ b/drivers/tty/serial/8250/8250_port.c > @@ -2522,9 +2522,9 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, > * the trigger, or the MCR RTS bit is cleared. In the case where > * the remote UART is not using CTS auto flow control, we must > * have sufficient FIFO entries for the latency of the remote > - * UART to respond. IOW, at least 32 bytes of FIFO. > + * UART to respond. IOW, at least 16 bytes of FIFO. > */ > - if (up->capabilities & UART_CAP_AFE && port->fifosize >= 32) { > + if (up->capabilities & UART_CAP_AFE && port->fifosize >= 16) { Let's just remove the fifosize test and rely on UART_CAP_AFE to enable AFE. Please remove comment from "In the case where ..." Also, I think the PORT_A7 port type should have UART_CAP_AFE commented out, especially since/if the trigger level is 1 byte. Regards, Peter Hurley > up->mcr &= ~UART_MCR_AFE; > if (termios->c_cflag & CRTSCTS) > up->mcr |= UART_MCR_AFE; > -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html