Thread (14 messages) flat view 14 messages, 3 authors, 2016-06-28

RE: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma mode

From: Appana Durga Kedareswara Rao <hidden>
Date: 2016-06-21 17:38:40
Also in: linux-arm-kernel, lkml

Hi Vinod,

	Thanks for the review...
On Fri, Jun 10, 2016 at 02:42:32PM +0530, Kedareswara rao Appana wrote:
quoted
This patch adds support for AXI DMA multi-channel dma mode
Multichannel mode enables DMA to connect to multiple masters And
slaves on the streaming side.
In Multichannel mode AXI DMA supports 2D transfers.
Funny formatting!
Will fix in next version...
Can you elobrate what you meant by Multichannel mode? This patch seems to
do two things, one is to add interleaved dma support and something else. Can
you explain the latter part?
AXI DMA has two Stream interfaces (Memory to Stream MM2S and Stream to Memory S2MM)
In Multi-Channel dma mode each stream interface can be configured up to 16 channels.
In Multi-channel DMA mode IP supports only interleaved transfers (2-D transfers).
quoted
 /**
+ * struct xilinx_mcdma_config - DMA Multi channel configuration
+structure
+ * @tdest: Channel to operate on
+ * @tid:   Channel configuration
+ * @tuser: Tuser configuration
+ * @ax_user: ax_user value
+ * @ax_cache: ax_cache value
+ */
+struct xilinx_mcdma_config {
+	u8 tdest;
+	u8 tid;
+	u8 tuser;
+	u8 ax_user;
+	u8 ax_cache;
can you describe these in details, what do these do, what are the values to be
programmed?
As said above In Multi-Channel Mode each Stream interface can be 
Configured up to 16 channels each channel is differentiated based on the tdest and tid values.

tdest:
TDEST provides routing information for the data stream.
TDEST values are static for the entire packet.

tid:
Provides a stream identifier. TID values are static for entire packet.
TID values provided in the TX descriptor field are presented on
TID signals of the streaming side.

tuser:
Sideband signals used for user-defined information.
TUSER values are static for entire packet. TUSER values provided in the TX
Descriptor field are presented on TUSER signals of streaming side.

ax_user: 
Sideband signals used for user-defined information
ARUSER values and their interpretations are user-defined

ax_cache:
Cache type this signal provides additional information about the cacheable
Characteristics of the transfer.

In the above parameters tdest and tid are mandatory to differentiate b/w different channels
Other parameters are optional please let me know if you don't want me to 
Include other optional parameters will remove in the next version.

Regards,
Kedar.
--
~Vinod
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help