diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch b/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch new file mode 100644 index 0000000000..1e562ce8f6 --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0021-dmaengine-bcm2835-set-residue_granularity-field.patch @@ -0,0 +1,29 @@ +From 6ff0d626e7d84df71f6bc75e2c5ed35c42858bcc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org> +Date: Sat, 3 Oct 2015 15:58:59 +0200 +Subject: [PATCH 021/127] dmaengine: bcm2835: set residue_granularity field +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +bcm2835-dma 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. + +[by HiassofT, taken from bcm2708-dmaengine] +Signed-off-by: Noralf Trønnes <noralf@tronnes.org> +--- + drivers/dma/bcm2835-dma.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -802,6 +802,7 @@ static int bcm2835_dma_probe(struct plat + 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); |