14d217d3b601abccc1901b55e5f920480033902f
[openwrt/staging/wigyori.git] / target / linux / brcm2708 / patches-4.4 / 0021-dmaengine-bcm2835-set-residue_granularity-field.patch
1 From 9c6955f3fbfbb46242c63b4640886b9a0d87910a Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
3 Date: Sat, 3 Oct 2015 15:58:59 +0200
4 Subject: [PATCH 021/170] dmaengine: bcm2835: set residue_granularity field
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 bcm2835-dma supports residue reporting at burst level but didn't report
10 this via the residue_granularity field.
11
12 Without this field set properly we get playback issues with I2S cards.
13
14 [by HiassofT, taken from bcm2708-dmaengine]
15 Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
16 ---
17 drivers/dma/bcm2835-dma.c | 1 +
18 1 file changed, 1 insertion(+)
19
20 --- a/drivers/dma/bcm2835-dma.c
21 +++ b/drivers/dma/bcm2835-dma.c
22 @@ -802,6 +802,7 @@ static int bcm2835_dma_probe(struct plat
23 od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
24 od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
25 od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
26 + od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
27 od->ddev.dev = &pdev->dev;
28 INIT_LIST_HEAD(&od->ddev.channels);
29 spin_lock_init(&od->lock);