Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8d4e016 authored by Ludovic Desroches's avatar Ludovic Desroches Committed by Greg Kroah-Hartman
Browse files

tty/serial: at91: maxburst was missing for dma transfers



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: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
Cc: <stable@vger.kernel.org> # 3.12 and later
Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6befa9d8
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -880,6 +880,7 @@ static int atmel_prepare_tx_dma(struct uart_port *port)
	config.direction = DMA_MEM_TO_DEV;
	config.direction = DMA_MEM_TO_DEV;
	config.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
	config.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
	config.dst_addr = port->mapbase + ATMEL_US_THR;
	config.dst_addr = port->mapbase + ATMEL_US_THR;
	config.dst_maxburst = 1;


	ret = dmaengine_slave_config(atmel_port->chan_tx,
	ret = dmaengine_slave_config(atmel_port->chan_tx,
				     &config);
				     &config);
@@ -1059,6 +1060,7 @@ static int atmel_prepare_rx_dma(struct uart_port *port)
	config.direction = DMA_DEV_TO_MEM;
	config.direction = DMA_DEV_TO_MEM;
	config.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
	config.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
	config.src_addr = port->mapbase + ATMEL_US_RHR;
	config.src_addr = port->mapbase + ATMEL_US_RHR;
	config.src_maxburst = 1;


	ret = dmaengine_slave_config(atmel_port->chan_rx,
	ret = dmaengine_slave_config(atmel_port->chan_rx,
				     &config);
				     &config);