diff mbox series

[V3,2/3] dmaengine: dw-axi-dmac: Hardware handshake configuration

Message ID 20211001140812.24977-3-pandith.n@intel.com (mailing list archive)
State Accepted
Commit 93a7d32e9f4b8bad722a8c8c83c579a2f6a5aec3
Headers show
Series Add DMA support for transfers in multiple cases | expand

Commit Message

N, Pandith Oct. 1, 2021, 2:08 p.m. UTC
From: Pandith N <pandith.n@intel.com>

Added hardware handshake selection in channel config,
for mem2per and per2mem case.
The peripheral specific handshake interface needs to be
programmed in src_per, dst_per bits of CHx_CFG register.

Signed-off-by: Pandith N <pandith.n@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

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 9a8231244c42..f46fd9895a13 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -396,6 +396,8 @@  static void axi_chan_block_xfer_start(struct axi_dma_chan *chan,
 				DWAXIDMAC_TT_FC_MEM_TO_PER_DMAC;
 		if (chan->chip->apb_regs)
 			config.dst_per = chan->id;
+		else
+			config.dst_per = chan->hw_handshake_num;
 		break;
 	case DMA_DEV_TO_MEM:
 		config.tt_fc = chan->config.device_fc ?
@@ -403,6 +405,8 @@  static void axi_chan_block_xfer_start(struct axi_dma_chan *chan,
 				DWAXIDMAC_TT_FC_PER_TO_MEM_DMAC;
 		if (chan->chip->apb_regs)
 			config.src_per = chan->id;
+		else
+			config.src_per = chan->hw_handshake_num;
 		break;
 	default:
 		break;