diff options
author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2012-11-05 05:00:15 -0500 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-01-08 01:05:00 -0500 |
commit | bfc191ea568a9c00ab652750686f83ad2daf92a8 (patch) | |
tree | 8d4b3674cad3aa85a00bf7e0945686dd588b80f9 /drivers/misc/carma | |
parent | d1806a5c4d2248d2799f4367dbdb1800be94a26f (diff) |
carma-fpga: pass correct flags to ->device_prep_dma_memcpy()
DMA unmapping is handled by a driver so tell fsldma.c driver
(which is the DMA engine driver used by carma-fpga) to skip
unmapping destination and source buffers.
Cc: Ira W. Snyder <iws@ovro.caltech.edu>
Cc: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dan Williams <djbw@fb.com>
Diffstat (limited to 'drivers/misc/carma')
-rw-r--r-- | drivers/misc/carma/carma-fpga.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/carma/carma-fpga.c b/drivers/misc/carma/carma-fpga.c index 8835eabb3b87..6b43f8c7b3be 100644 --- a/drivers/misc/carma/carma-fpga.c +++ b/drivers/misc/carma/carma-fpga.c | |||
@@ -631,6 +631,8 @@ static int data_submit_dma(struct fpga_device *priv, struct data_buf *buf) | |||
631 | struct dma_async_tx_descriptor *tx; | 631 | struct dma_async_tx_descriptor *tx; |
632 | dma_cookie_t cookie; | 632 | dma_cookie_t cookie; |
633 | dma_addr_t dst, src; | 633 | dma_addr_t dst, src; |
634 | unsigned long dma_flags = DMA_COMPL_SKIP_DEST_UNMAP | | ||
635 | DMA_COMPL_SKIP_SRC_UNMAP; | ||
634 | 636 | ||
635 | dst_sg = buf->vb.sglist; | 637 | dst_sg = buf->vb.sglist; |
636 | dst_nents = buf->vb.sglen; | 638 | dst_nents = buf->vb.sglen; |
@@ -666,7 +668,7 @@ static int data_submit_dma(struct fpga_device *priv, struct data_buf *buf) | |||
666 | src = SYS_FPGA_BLOCK; | 668 | src = SYS_FPGA_BLOCK; |
667 | tx = chan->device->device_prep_dma_memcpy(chan, dst, src, | 669 | tx = chan->device->device_prep_dma_memcpy(chan, dst, src, |
668 | REG_BLOCK_SIZE, | 670 | REG_BLOCK_SIZE, |
669 | 0); | 671 | dma_flags); |
670 | if (!tx) { | 672 | if (!tx) { |
671 | dev_err(priv->dev, "unable to prep SYS-FPGA DMA\n"); | 673 | dev_err(priv->dev, "unable to prep SYS-FPGA DMA\n"); |
672 | return -ENOMEM; | 674 | return -ENOMEM; |