This series first fix a bug related with runtime pm. Then do three clean
up. After that, we add three new features: per channel irq support,
dma-channel-mask support and polled mode support.
Since v3:
- rebase on the latest rc1
Since v2
- fix typo
- add reason why we need to runtime resume before reading reg in
commit msg
Hi Vinod,
I still kept patch2 in v2, because I think the irq has been disabled
from the dw-axi-dma side, so the irq won't be fired any more. If you
prefer to keep the devm_free_irq() just ignore patch2.
Thanks a lot.
Jisheng Zhang (11):
dmaengine: dw-axi-dmac: fix reading register when runtime suspended
dmaengine: dw-axi-dmac: remove unnecessary devm_free_irq() calling
dmaengine: dw-axi-dmac: remove unnecessary axi_dma_enable() calling
dmaengine: dw-axi-dmac: remove redundant axi_dma_disable() calling
dmaengine: dw-axi-dmac: delay irq getting until request_irq
dmaengine: dw-axi-dmac: move ch irq handling into common routine
dmaengine: dw-axi-dmac: support per channel irq
dmaengine: dw-axi-dmac: support dma-channel-mask
dmaengine: dw-axi-dmac: try best to get residue when tx is running
dmaengine: dw-axi-dmac: move dma_chan_tx_status()
dmaengine: dw-axi-dmac: support polled mode
.../dma/dw-axi-dmac/dw-axi-dmac-platform.c | 207 ++++++++++++------
drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 4 +
2 files changed, 147 insertions(+), 64 deletions(-)
--
2.40.0
axi_dma_suspend() will soon call axi_dma_disable(), remove the redundant
axi_dma_disable() callin.
Signed-off-by: Jisheng Zhang <[email protected]>
---
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
index 4378134eea63..e596910e9f84 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -1556,7 +1556,6 @@ static int dw_remove(struct platform_device *pdev)
axi_chan_disable(&chip->dw->chan[i]);
axi_chan_irq_disable(&chip->dw->chan[i], DWAXIDMAC_IRQ_ALL);
}
- axi_dma_disable(chip);
pm_runtime_disable(chip->dev);
axi_dma_suspend(chip);
--
2.40.0