Re: [PATCH] tty/serial: at91: maxburst was missing for dma transfers

From: Nicolas Ferre
Date: Thu Apr 16 2015 - 11:08:57 EST


Le 16/04/2015 16:58, Ludovic Desroches a écrit :
> Maxburst was not set when doing the dma slave configuration. This value
> is checked by the recently introduced xdmac. It causes an error when
> doing the slave configuration and so prevents from using dma.
>
> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx> # 3.12 and later

Indeed, thanks!
Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

> ---
> drivers/tty/serial/atmel_serial.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
> index 4e959c4..6afce7e 100644
> --- a/drivers/tty/serial/atmel_serial.c
> +++ b/drivers/tty/serial/atmel_serial.c
> @@ -880,6 +880,7 @@ static int atmel_prepare_tx_dma(struct uart_port *port)
> config.direction = DMA_MEM_TO_DEV;
> config.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
> config.dst_addr = port->mapbase + ATMEL_US_THR;
> + config.dst_maxburst = 1;
>
> ret = dmaengine_slave_config(atmel_port->chan_tx,
> &config);
> @@ -1059,6 +1060,7 @@ static int atmel_prepare_rx_dma(struct uart_port *port)
> config.direction = DMA_DEV_TO_MEM;
> config.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
> config.src_addr = port->mapbase + ATMEL_US_RHR;
> + config.src_maxburst = 1;
>
> ret = dmaengine_slave_config(atmel_port->chan_rx,
> &config);
>


--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/