mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
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.
This commit is contained in:
committed by
popcornmix
parent
44fa0c9f4f
commit
c4091326f0
@@ -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.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
|
||||||
od->ddev.dst_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.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
|
||||||
|
od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
|
||||||
od->ddev.dev = &pdev->dev;
|
od->ddev.dev = &pdev->dev;
|
||||||
INIT_LIST_HEAD(&od->ddev.channels);
|
INIT_LIST_HEAD(&od->ddev.channels);
|
||||||
spin_lock_init(&od->lock);
|
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.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
|
||||||
od->ddev.dst_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.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
|
||||||
|
od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
|
||||||
od->ddev.dev = &pdev->dev;
|
od->ddev.dev = &pdev->dev;
|
||||||
INIT_LIST_HEAD(&od->ddev.channels);
|
INIT_LIST_HEAD(&od->ddev.channels);
|
||||||
spin_lock_init(&od->lock);
|
spin_lock_init(&od->lock);
|
||||||
|
|||||||
Reference in New Issue
Block a user