|
@@ -33,6 +33,7 @@
|
|
|
#define PL330_MAX_CHAN 8
|
|
|
#define PL330_MAX_IRQS 32
|
|
|
#define PL330_MAX_PERI 32
|
|
|
+#define PL330_MAX_BURST 16
|
|
|
|
|
|
#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->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV);
|
|
|
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);
|
|
|
if (ret) {
|