[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1318601909.1546.410.camel@vkoul-udesk3>
Date: Fri, 14 Oct 2011 19:48:29 +0530
From: Vinod Koul <vinod.koul@...el.com>
To: Jassi Brar <jaswinder.singh@...aro.org>
Cc: Barry Song <21cnbao@...il.com>, linux-kernel@...r.kernel.org,
dan.j.williams@...el.com, rmk@....linux.org.uk,
DL-SHA-WorkGroupLinux <workgroup.linux@....com>
Subject: Re: [PATCHv5] DMAEngine: Define interleaved transfer request api
On Fri, 2011-10-14 at 19:35 +0530, Vinod Koul wrote:
> On Fri, 2011-10-14 at 19:21 +0530, Jassi Brar wrote:
> > >> ... we need to restore 'bool frm_irq' and add new 'bool cyclic' that
> > >> would replay the transfer(i.e, reset dma-pointers to src_start & dst_start)
> > >> after 'numf' frames have been transferred.
> > > I was thinking more on lines to have this conveyed thru a flag.
> > >
> > Sorry don't see exactly what you mean.
> > frm_irq and numf are independent of each other and could
> > cover more cases than a single flag.
> >
> > > Anyway I plan to work on merging device_prep_slave_sg and
> > > device_prep_cyclic to single API. Think more of device_prep_cyclic as
> > > special case with sg length one and flag to tell dmac its cyclic.
> > >
> > AFAIK, usually the ring buffer is divided into N (>1) different
> > periods that need
> > to be transferred in endless loop.
> But that is not interleaved dma, we have a cyclic API, barry should be
> using that
> >
> > > Similarly here we could use/define this flag to say this transfer is
> > > also cyclic in nature and dmac then reloads the list again.
> > > That way any prep can be made cyclic in nature by just using this flag.
> > >
> > Some cyclic transfers might want callback done after each period/frame
> > while some not. We can't cover using just one flag.
> Again, we would typically have two cases:
> 1) notification at end of each list
> 2) notification at end of each frame and complete list
> If we use ACK flag along with callback field we can achieve above by
> defining rules as
> - if callback is set, notify after list completion (this is set in
> descriptor for this purpose)
> - if ACK is set, then call for each frame as well
> If we agree then, we should add this info to documentation and fix
> existing behavior
Sorry meant DMA_PREP_INTERRUPT flag above :)
--
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists