aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/amba-pl011.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/serial/amba-pl011.c')
-rw-r--r--drivers/tty/serial/amba-pl011.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index 20d795d9b591..0c65c9e66986 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -51,6 +51,7 @@
51#include <linux/dma-mapping.h> 51#include <linux/dma-mapping.h>
52#include <linux/scatterlist.h> 52#include <linux/scatterlist.h>
53#include <linux/delay.h> 53#include <linux/delay.h>
54#include <linux/types.h>
54 55
55#include <asm/io.h> 56#include <asm/io.h>
56#include <asm/sizes.h> 57#include <asm/sizes.h>
@@ -271,6 +272,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)
271 .dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, 272 .dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE,
272 .direction = DMA_MEM_TO_DEV, 273 .direction = DMA_MEM_TO_DEV,
273 .dst_maxburst = uap->fifosize >> 1, 274 .dst_maxburst = uap->fifosize >> 1,
275 .device_fc = false,
274 }; 276 };
275 struct dma_chan *chan; 277 struct dma_chan *chan;
276 dma_cap_mask_t mask; 278 dma_cap_mask_t mask;
@@ -304,6 +306,7 @@ static void pl011_dma_probe_initcall(struct uart_amba_port *uap)
304 .src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE, 306 .src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE,
305 .direction = DMA_DEV_TO_MEM, 307 .direction = DMA_DEV_TO_MEM,
306 .src_maxburst = uap->fifosize >> 1, 308 .src_maxburst = uap->fifosize >> 1,
309 .device_fc = false,
307 }; 310 };
308 311
309 chan = dma_request_channel(mask, plat->dma_filter, plat->dma_rx_param); 312 chan = dma_request_channel(mask, plat->dma_filter, plat->dma_rx_param);
@@ -481,7 +484,7 @@ static int pl011_dma_tx_refill(struct uart_amba_port *uap)
481 return -EBUSY; 484 return -EBUSY;
482 } 485 }
483 486
484 desc = dma_dev->device_prep_slave_sg(chan, &dmatx->sg, 1, DMA_MEM_TO_DEV, 487 desc = dmaengine_prep_slave_sg(chan, &dmatx->sg, 1, DMA_MEM_TO_DEV,
485 DMA_PREP_INTERRUPT | DMA_CTRL_ACK); 488 DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
486 if (!desc) { 489 if (!desc) {
487 dma_unmap_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE); 490 dma_unmap_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE);
@@ -664,7 +667,6 @@ static void pl011_dma_rx_callback(void *data);
664static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap) 667static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap)
665{ 668{
666 struct dma_chan *rxchan = uap->dmarx.chan; 669 struct dma_chan *rxchan = uap->dmarx.chan;
667 struct dma_device *dma_dev;
668 struct pl011_dmarx_data *dmarx = &uap->dmarx; 670 struct pl011_dmarx_data *dmarx = &uap->dmarx;
669 struct dma_async_tx_descriptor *desc; 671 struct dma_async_tx_descriptor *desc;
670 struct pl011_sgbuf *sgbuf; 672 struct pl011_sgbuf *sgbuf;
@@ -675,8 +677,7 @@ static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap)
675 /* Start the RX DMA job */ 677 /* Start the RX DMA job */
676 sgbuf = uap->dmarx.use_buf_b ? 678 sgbuf = uap->dmarx.use_buf_b ?
677 &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; 679 &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a;
678 dma_dev = rxchan->device; 680 desc = dmaengine_prep_slave_sg(rxchan, &sgbuf->sg, 1,
679 desc = rxchan->device->device_prep_slave_sg(rxchan, &sgbuf->sg, 1,
680 DMA_DEV_TO_MEM, 681 DMA_DEV_TO_MEM,
681 DMA_PREP_INTERRUPT | DMA_CTRL_ACK); 682 DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
682 /* 683 /*