|
@@ -1485,7 +1485,11 @@ static int omap_dma_probe(struct platform_device *pdev)
|
|
od->ddev.src_addr_widths = OMAP_DMA_BUSWIDTHS;
|
|
od->ddev.src_addr_widths = OMAP_DMA_BUSWIDTHS;
|
|
od->ddev.dst_addr_widths = OMAP_DMA_BUSWIDTHS;
|
|
od->ddev.dst_addr_widths = OMAP_DMA_BUSWIDTHS;
|
|
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;
|
|
|
|
|
|
+ if (__dma_omap15xx(od->plat->dma_attr))
|
|
|
|
+ od->ddev.residue_granularity =
|
|
|
|
+ DMA_RESIDUE_GRANULARITY_DESCRIPTOR;
|
|
|
|
+ else
|
|
|
|
+ od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
|
|
od->ddev.max_burst = SZ_16M - 1; /* CCEN: 24bit unsigned */
|
|
od->ddev.max_burst = SZ_16M - 1; /* CCEN: 24bit unsigned */
|
|
od->ddev.dev = &pdev->dev;
|
|
od->ddev.dev = &pdev->dev;
|
|
INIT_LIST_HEAD(&od->ddev.channels);
|
|
INIT_LIST_HEAD(&od->ddev.channels);
|