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: Vinod Koul <hidden>
Date: 2016-06-28 04:28:08
Also in: linux-arm-kernel, lkml

On Wed, Jun 22, 2016 at 07:04:28AM +0000, Appana Durga Kedareswara Rao wrote:
quoted
quoted
quoted
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)
what is a stream in this context?
Stream means I/O transfer (Memory to I/O and I/O to Memory).
Sorry if I confused you.
quoted
quoted
In Multi-Channel dma mode each stream interface can be configured up to 16
channels.
quoted
In Multi-channel DMA mode IP supports only interleaved transfers (2-D
transfers).

quoted
quoted
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.

Then why are you not registering 16 channels for this? That should give you
channel to operate on!
The number of channels are configurable.
We are registering number of Channels that h/w configured for.

Will fix in the next version. Will remove this config.
And based on the channel type will configure the h/w.
Looking at this you should redesign!

The vchan was designed to operate on 'virtual' channels. The hardware
channels can be independent of that.

Your IP seems to be a good fit for that approach. Do not link the two and
separate them. User can have a virtual channel. In your driver, you can
manage hardware channels...
quoted
quoted
tdest:
TDEST provides routing information for the data stream.
pls elobrate
Need to configure this with the channel number that
We would like to transfer data.
This should be internal to driver...

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help