diff options
Diffstat (limited to 'drivers/tty/serial/amba-pl011.c')
-rw-r--r-- | drivers/tty/serial/amba-pl011.c | 9 |
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); | |||
664 | static int pl011_dma_rx_trigger_dma(struct uart_amba_port *uap) | 667 | static 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 | /* |