提交 e98b3caf 编写于 作者: M Michal Simek 提交者: Vinod Koul

dma: pl330: Support per channel irq allocation

Some pl330 have per channel irq and it is necessary
to allocate all of them. Loop over irq assigned for this
device to support these pl330 IPs.

For example this IP is available on Xilinx Zynq platform.
Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
Tested-by: NLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: NVinod Koul <vinod.koul@intel.com>
上级 20a90b0e
...@@ -2922,11 +2922,18 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id) ...@@ -2922,11 +2922,18 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
amba_set_drvdata(adev, pdmac); amba_set_drvdata(adev, pdmac);
irq = adev->irq[0]; for (i = 0; i <= AMBA_NR_IRQS; i++) {
ret = devm_request_irq(&adev->dev, irq, pl330_irq_handler, 0, irq = adev->irq[i];
dev_name(&adev->dev), pi); if (irq) {
if (ret) ret = devm_request_irq(&adev->dev, irq,
return ret; pl330_irq_handler, 0,
dev_name(&adev->dev), pi);
if (ret)
return ret;
} else {
break;
}
}
pi->pcfg.periph_id = adev->periphid; pi->pcfg.periph_id = adev->periphid;
ret = pl330_add(pi); ret = pl330_add(pi);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册