dmaengine: imx-sdma: advertise correct residue granularity

The SDMA hardware/driver does not actually report the transfer residue at
burst size granularity, but in fact is only able to report residue after
each finished segment.

Signed-off-by: Lucas Stach <[email protected]>
Tested-by: Fabio Estevam <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
This commit is contained in:
Lucas Stach 2017-03-08 10:13:09 +01:00 • committed by Vinod Koul
commit 6f3125ceb6

View file

@ -1832,7 +1832,7 @@ static int sdma_probe(struct platform_device *pdev)
sdma->dma_device.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
sdma->dma_device.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES);
sdma->dma_device.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
sdma->dma_device.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
sdma->dma_device.residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
sdma->dma_device.device_issue_pending = sdma_issue_pending;
sdma->dma_device.dev->dma_parms = &sdma->dma_parms;
dma_set_max_seg_size(sdma->dma_device.dev, 65535);