Re: [PATCH v1 6/9] serial: 8250_lpss: add fractional divisor support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 06, 2019 at 12:43:19PM +0300, Andy Shevchenko wrote:
> For Synopsys DesignWare 8250 uart which version >= 4.00a, there's a
> valid divisor latch fraction register.
> 
> Now the preparation is done, it's easy to add the feature support.
> This patch firstly tries to get the fractional divisor width during
> probe, then setups specific get_divisor() and set_divisor() hook.
> 
> Among other changes the FIFO size is now retrieved from the hardware.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

FWIW:

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
>  drivers/tty/serial/8250/8250_lpss.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c
> index 3bf23770c188..0c6aa990db3d 100644
> --- a/drivers/tty/serial/8250/8250_lpss.c
> +++ b/drivers/tty/serial/8250/8250_lpss.c
> @@ -113,7 +113,6 @@ static unsigned int byt_get_mctrl(struct uart_port *port)
>  static int byt_serial_setup(struct lpss8250 *lpss, struct uart_port *port)
>  {
>  	struct dw_dma_slave *param = &lpss->dma_param;
> -	struct uart_8250_port *up = up_to_u8250p(port);
>  	struct pci_dev *pdev = to_pci_dev(port->dev);
>  	unsigned int dma_devfn = PCI_DEVFN(PCI_SLOT(pdev->devfn), 0);
>  	struct pci_dev *dma_dev = pci_get_slot(pdev->bus, dma_devfn);
> @@ -139,10 +138,6 @@ static int byt_serial_setup(struct lpss8250 *lpss, struct uart_port *port)
>  	param->m_master = 0;
>  	param->p_master = 1;
>  
> -	/* TODO: Detect FIFO size automaticaly for DesignWare 8250 */
> -	port->fifosize = 64;
> -	up->tx_loadsz = 64;
> -
>  	lpss->dma_maxburst = 16;
>  
>  	port->set_termios = byt_set_termios;
> @@ -316,6 +311,8 @@ static int lpss8250_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>  	if (ret)
>  		return ret;
>  
> +	dw8250_setup_port(&uart.port);
> +
>  	ret = lpss8250_dma_setup(lpss, &uart);
>  	if (ret)
>  		goto err_exit;
> -- 
> 2.20.1

-- 
heikki



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux