Message ID | 1409943773-7874-4-git-send-email-bigeasy@linutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Sep 05, 2014 at 09:02:38PM +0200, Sebastian Andrzej Siewior wrote: > The OMAP UART provides support for HW assisted flow control. What is > missing is the support to throttle / unthrottle callbacks which are used > by the omap-serial driver at the moment. > This patch adds the callbacks. It should be safe to add them since they > are only invoked from the serial_core (uart_throttle()) if the feature > flags are set. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Due to other recent changes, this patch fails to apply :( I've applied your first two, can you respin the rest and resend as a new series? thanks, greg k-h
* Greg Kroah-Hartman <gregkh@linuxfoundation.org> [140908 16:33]: > On Fri, Sep 05, 2014 at 09:02:38PM +0200, Sebastian Andrzej Siewior wrote: > > The OMAP UART provides support for HW assisted flow control. What is > > missing is the support to throttle / unthrottle callbacks which are used > > by the omap-serial driver at the moment. > > This patch adds the callbacks. It should be safe to add them since they > > are only invoked from the serial_core (uart_throttle()) if the feature > > flags are set. > > > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > > Due to other recent changes, this patch fails to apply :( > > I've applied your first two, can you respin the rest and resend as a new > series? It seems that we've reached pretty much omap-serial compability and the remaining bugs are either already there with omap-serial or are SoC specific and/or DMA related. So Sebastian, please feel also free to add this when reposting: Reviewed-by: Tony Lindgren <tony@atomide.com> Tested-by: Tony Lindgren <tony@atomide.com>
diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c index 54fd42f0e6f0..e2703e8d4b87 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -1318,6 +1318,16 @@ static void serial8250_start_tx(struct uart_port *port) } } +static void serial8250_throttle(struct uart_port *port) +{ + port->throttle(port); +} + +static void serial8250_unthrottle(struct uart_port *port) +{ + port->unthrottle(port); +} + static void serial8250_stop_rx(struct uart_port *port) { struct uart_8250_port *up = up_to_u8250p(port); @@ -2876,6 +2886,8 @@ static struct uart_ops serial8250_pops = { .get_mctrl = serial8250_get_mctrl, .stop_tx = serial8250_stop_tx, .start_tx = serial8250_start_tx, + .throttle = serial8250_throttle, + .unthrottle = serial8250_unthrottle, .stop_rx = serial8250_stop_rx, .enable_ms = serial8250_enable_ms, .break_ctl = serial8250_break_ctl, @@ -3423,6 +3435,8 @@ int serial8250_register_8250_port(struct uart_8250_port *up) uart->port.fifosize = up->port.fifosize; uart->tx_loadsz = up->tx_loadsz; uart->capabilities = up->capabilities; + uart->port.throttle = up->port.throttle; + uart->port.unthrottle = up->port.unthrottle; /* Take tx_loadsz from fifosize if it wasn't set separately */ if (uart->port.fifosize && !uart->tx_loadsz) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index f3ea5312d89f..edaaaa036c0b 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -124,6 +124,8 @@ struct uart_port { struct ktermios *old); int (*startup)(struct uart_port *port); void (*shutdown)(struct uart_port *port); + void (*throttle)(struct uart_port *port); + void (*unthrottle)(struct uart_port *port); int (*handle_irq)(struct uart_port *); void (*pm)(struct uart_port *, unsigned int state, unsigned int old);
The OMAP UART provides support for HW assisted flow control. What is missing is the support to throttle / unthrottle callbacks which are used by the omap-serial driver at the moment. This patch adds the callbacks. It should be safe to add them since they are only invoked from the serial_core (uart_throttle()) if the feature flags are set. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- drivers/tty/serial/8250/8250_core.c | 14 ++++++++++++++ include/linux/serial_core.h | 2 ++ 2 files changed, 16 insertions(+)