serial: 8250_dw: Set port capabilities based on CPR register
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Wed, 10 Apr 2013 13:58:31 +0000 (16:58 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Apr 2013 20:21:17 +0000 (13:21 -0700)
The Designware UART has an optional support for 16750
compatible Auto Flow Control. This will enable it based on
the AFCE bit in Component Parameter Register.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dw.c

index 09aaea2d3a6ca8582d1ec2fc49658ff4102e02e7..b7c7d6a6cad75c47d95d2f02f0992500ed193976 100644 (file)
@@ -221,7 +221,11 @@ static void dw8250_setup_port(struct uart_8250_port *up)
                p->flags |= UPF_FIXED_TYPE;
                p->fifosize = DW_UART_CPR_FIFO_SIZE(reg);
                up->tx_loadsz = p->fifosize;
+               up->capabilities = UART_CAP_FIFO;
        }
+
+       if (reg & DW_UART_CPR_AFCE_MODE)
+               up->capabilities |= UART_CAP_AFE;
 }
 
 static int dw8250_probe(struct platform_device *pdev)