summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Reichl <hias@horus.com>2015-05-15 14:21:32 +0200
committerpopcornmix <popcornmix@gmail.com>2015-05-18 14:13:24 +0100
commitc4091326f01d8f938620c0ad33312dea23faf173 (patch)
tree95de4011940d2d767265a75d549386b39e6135d8
parent44fa0c9f4fcf3519aa91175f13f41d3744e6dc29 (diff)
downloadlinux-c4091326f01d8f938620c0ad33312dea23faf173.tar.gz
dmaengine: bcm2708: set residue_granularity field
bcm2708-dmaengine supports residue reporting at burst level but didn't report this via the residue_granularity field. Without this field set properly we get playback issues with I2S cards.
-rw-r--r--drivers/dma/bcm2708-dmaengine.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
index 937fd60c5092..987ed534ad73 100644
--- a/drivers/dma/bcm2708-dmaengine.c
+++ b/drivers/dma/bcm2708-dmaengine.c
@@ -1112,6 +1112,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
+ od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
od->ddev.dev = &pdev->dev;
INIT_LIST_HEAD(&od->ddev.channels);
spin_lock_init(&od->lock);
@@ -1180,6 +1181,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
+ od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
od->ddev.dev = &pdev->dev;
INIT_LIST_HEAD(&od->ddev.channels);
spin_lock_init(&od->lock);