|
|
@@ -713,7 +713,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
|
|
|
if (!pdev->dev.dma_mask)
|
|
|
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
|
|
-@@ -1020,9 +1206,13 @@ static int bcm2835_dma_probe(struct plat
|
|
|
+@@ -1022,9 +1208,13 @@ static int bcm2835_dma_probe(struct plat
|
|
|
base = devm_ioremap_resource(&pdev->dev, res);
|
|
|
if (IS_ERR(base))
|
|
|
return PTR_ERR(base);
|
|
|
@@ -730,7 +730,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
|
|
|
od->base = base;
|
|
|
|
|
|
-@@ -1052,6 +1242,14 @@ static int bcm2835_dma_probe(struct plat
|
|
|
+@@ -1054,6 +1244,14 @@ static int bcm2835_dma_probe(struct plat
|
|
|
|
|
|
platform_set_drvdata(pdev, od);
|
|
|
|
|
|
@@ -745,7 +745,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
/* Request DMA channel mask from device tree */
|
|
|
if (of_property_read_u32(pdev->dev.of_node,
|
|
|
"brcm,dma-channel-mask",
|
|
|
-@@ -1061,18 +1259,34 @@ static int bcm2835_dma_probe(struct plat
|
|
|
+@@ -1063,18 +1261,34 @@ static int bcm2835_dma_probe(struct plat
|
|
|
goto err_no_dma;
|
|
|
}
|
|
|
|
|
|
@@ -788,7 +788,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
/* skip masked out channels */
|
|
|
if (!(chans_available & (1 << i))) {
|
|
|
irq[i] = -1;
|
|
|
-@@ -1095,13 +1309,17 @@ static int bcm2835_dma_probe(struct plat
|
|
|
+@@ -1097,13 +1311,17 @@ static int bcm2835_dma_probe(struct plat
|
|
|
irq[i] = platform_get_irq(pdev, i < 11 ? i : 11);
|
|
|
}
|
|
|
|
|
|
@@ -807,7 +807,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
irq_flags = 0;
|
|
|
for (j = 0; j <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; j++)
|
|
|
if ((i != j) && (irq[j] == irq[i])) {
|
|
|
-@@ -1113,9 +1331,10 @@ static int bcm2835_dma_probe(struct plat
|
|
|
+@@ -1115,9 +1333,10 @@ static int bcm2835_dma_probe(struct plat
|
|
|
rc = bcm2835_dma_chan_init(od, i, irq[i], irq_flags);
|
|
|
if (rc)
|
|
|
goto err_no_dma;
|
|
|
@@ -819,7 +819,7 @@ Signed-off-by: Phil Elwell <[email protected]>
|
|
|
|
|
|
/* Device-tree DMA controller registration */
|
|
|
rc = of_dma_controller_register(pdev->dev.of_node,
|
|
|
-@@ -1147,6 +1366,13 @@ static int bcm2835_dma_remove(struct pla
|
|
|
+@@ -1149,6 +1368,13 @@ static int bcm2835_dma_remove(struct pla
|
|
|
|
|
|
bcm_dmaman_remove(pdev);
|
|
|
dma_async_device_unregister(&od->ddev);
|