Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86a8ce7d authored by Shawn Lin's avatar Shawn Lin Committed by Vinod Koul
Browse files

dmaengine: pl330: add max burst for dmaengine



This patch add max burst capability for dmaengine and
limit burst capability to one for PL330_QUIRK_BROKEN_NO_FLUSHP

Signed-off-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 6d5bbed3
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@
#define PL330_MAX_CHAN		8
#define PL330_MAX_CHAN		8
#define PL330_MAX_IRQS		32
#define PL330_MAX_IRQS		32
#define PL330_MAX_PERI		32
#define PL330_MAX_PERI		32
#define PL330_MAX_BURST         16


#define PL330_QUIRK_BROKEN_NO_FLUSHP BIT(0)
#define PL330_QUIRK_BROKEN_NO_FLUSHP BIT(0)


@@ -2938,6 +2939,8 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
	pd->dst_addr_widths = PL330_DMA_BUSWIDTHS;
	pd->dst_addr_widths = PL330_DMA_BUSWIDTHS;
	pd->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
	pd->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
	pd->residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
	pd->residue_granularity = DMA_RESIDUE_GRANULARITY_SEGMENT;
	pd->max_burst = ((pl330->quirks & PL330_QUIRK_BROKEN_NO_FLUSHP) ?
			 1 : PL330_MAX_BURST);


	ret = dma_async_device_register(pd);
	ret = dma_async_device_register(pd);
	if (ret) {
	if (ret) {