Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul: "This is fairly big pull by my standards as I had missed last merge window. So we have the support for device tree for slave-dmaengine, large updates to dw_dmac driver from Andy for reusing on different architectures. Along with this we have fixes on bunch of the drivers" Fix up trivial conflicts, usually due to #include line movement next to each other. * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits) Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT" ARM: dts: pl330: Add #dma-cells for generic dma binding support DMA: PL330: Register the DMA controller with the generic DMA helpers DMA: PL330: Add xlate function DMA: PL330: Add new pl330 filter for DT case. dma: tegra20-apb-dma: remove unnecessary assignment edma: do not waste memory for dma_mask dma: coh901318: set residue only if dma is in progress dma: coh901318: avoid unbalanced locking dmaengine.h: remove redundant else keyword dma: of-dma: protect list write operation by spin_lock dmaengine: ste_dma40: do not remove descriptors for cyclic transfers dma: of-dma.c: fix memory leakage dw_dmac: apply default dma_mask if needed dmaengine: ioat - fix spare sparse complain dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING dw_dmac: add support for Lynxpoint DMA controllers dw_dmac: return proper residue value dw_dmac: fill individual length of descriptor ...
This commit is contained in:
@@ -546,7 +546,7 @@ static noinline int fpga_program_dma(struct fpga_dev *priv)
|
||||
goto out_dma_unmap;
|
||||
}
|
||||
|
||||
dma_async_memcpy_issue_pending(chan);
|
||||
dma_async_issue_pending(chan);
|
||||
|
||||
/* Set the total byte count */
|
||||
fpga_set_byte_count(priv->regs, priv->bytes);
|
||||
|
@@ -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;
|
||||
@@ -749,7 +751,7 @@ static irqreturn_t data_irq(int irq, void *dev_id)
|
||||
submitted = true;
|
||||
|
||||
/* Start the DMA Engine */
|
||||
dma_async_memcpy_issue_pending(priv->chan);
|
||||
dma_async_issue_pending(priv->chan);
|
||||
|
||||
out:
|
||||
/* If no DMA was submitted, re-enable interrupts */
|
||||
|
Fai riferimento in un nuovo problema
Block a user