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>
This commit is contained in:
parent
d1806a5c4d
commit
bfc191ea56
|
@ -631,6 +631,8 @@ static int data_submit_dma(struct fpga_device *priv, struct data_buf *buf)
|
|||
struct dma_async_tx_descriptor *tx;
|
||||
dma_cookie_t cookie;
|
||||
dma_addr_t dst, src;
|
||||
unsigned long dma_flags = DMA_COMPL_SKIP_DEST_UNMAP |
|
||||
DMA_COMPL_SKIP_SRC_UNMAP;
|
||||
|
||||
dst_sg = buf->vb.sglist;
|
||||
dst_nents = buf->vb.sglen;
|
||||
|
@ -666,7 +668,7 @@ static int data_submit_dma(struct fpga_device *priv, struct data_buf *buf)
|
|||
src = SYS_FPGA_BLOCK;
|
||||
tx = chan->device->device_prep_dma_memcpy(chan, dst, src,
|
||||
REG_BLOCK_SIZE,
|
||||
0);
|
||||
dma_flags);
|
||||
if (!tx) {
|
||||
dev_err(priv->dev, "unable to prep SYS-FPGA DMA\n");
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue