Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1432447 > unrolled thread

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

Started byVinod Koul <vinod.koul@intel.com>
First post2016-06-28 06:30 +0200
Last post2016-06-28 09:30 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma  mode Vinod Koul <vinod.koul@intel.com> - 2016-06-28 06:30 +0200
    RE: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma  mode Appana Durga Kedareswara Rao <appana.durga.rao@xilinx.com> - 2016-06-28 08:00 +0200
      RE: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma  mode Appana Durga Kedareswara Rao <appana.durga.rao@xilinx.com> - 2016-06-28 09:30 +0200

#1432447 — Re: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma mode

FromVinod Koul <vinod.koul@intel.com>
Date2016-06-28 06:30 +0200
SubjectRe: [PATCH 2/4] dmaengine: vdma: Add support for mulit-channel dma mode
Message-ID<rOSOS-1TL-3@gated-at.bofh.it>
On Wed, Jun 22, 2016 at 07:04:28AM +0000, Appana Durga Kedareswara Rao wrote:
> > > >
> > > > 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.
> 
> > 
> > > 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).
> > 
> > 
> > >
> > > >
> > > > >  /**
> > > > > + * 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...

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

[toc] | [next] | [standalone]


#1432494

FromAppana Durga Kedareswara Rao <appana.durga.rao@xilinx.com>
Date2016-06-28 08:00 +0200
Message-ID<rOUdY-2IX-3@gated-at.bofh.it>
In reply to#1432447
Hi Vinod,

	Thanks for the review...

> > > > > >  /**
> > > > > > + * 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...

Fixed it in the v2 and posted the v2 series.
Please go thought it...

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

Fixed it in the v2 and posted the v2 series.
Please go thought it...

Regards,
Kedar.

> 
> --
> ~Vinod

[toc] | [prev] | [next] | [standalone]


#1432572

FromAppana Durga Kedareswara Rao <appana.durga.rao@xilinx.com>
Date2016-06-28 09:30 +0200
Message-ID<rOVD4-3Lz-15@gated-at.bofh.it>
In reply to#1432494
Hi Vinod,

	
 
> > > > > > >  /**
> > > > > > > + * 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...
> 
> Fixed it in the v2 and posted the v2 series.
> Please go thought it...

Sorry forgot to write explanation.
Without the need of virtual channels fixed it in the driver itself.
During probe based on the number of channels configuring the h/w
Accordingly user no need to aware of this configuration. User can request DMA
Channel in normal way the using dma_request_slave_channel or dma_request_channel
 Posted v2 series please go through it.

Regards,
Kedar.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web