[alsa-devel] [PATCH 0/27]: ASoC: rsnd: add Renesas Gen2 DMAEngine support

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Jan 28 14:05:19 CET 2014


On Tue, Jan 28, 2014 at 12:37:43PM +0000, Mark Brown wrote:
> On Tue, Jan 28, 2014 at 01:06:29PM +0100, Lars-Peter Clausen wrote:
> 
> > The virt_dma helper functions already take care of some of the cyclic
> > specific details. And more can probably be added. E.g. what comes to mind is
> > the tracking of whether a descriptor is cyclic and which segment of the
> > descriptor to submit next. All users of virt_dma already implement these in
> > almost the same fashion. So this would not only to allow to factor out the
> > handling for the cyclic case, but also for the non cyclic case. And for all
> > users of those helpers cyclic support would essentially be free.
> 
> OK, I had a brief look and that does seem like the way forwards - I had
> been remembering the last time this was discussed when the DMA guys were
> pretty uncomfortable with the idea of doing things there but it seems
> things are different now.

I don't want virt_dma to do any tracking of which part of the descriptor
is to be submitted next, because that needlessly makes virt_dma harder to
use on hardware which you can generate the scatterlist in memory and have
the hardware walk it, only notifying when it reaches the end of the list.

I also want to leave the door open for DMA implementations that decide to
extend such a list when the next descriptor(s) is/are issued, thereby
allowing hardware to move on to the next DMA task with the software only
taking care of the status update and callback notification.

-- 
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up.  Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".


More information about the Alsa-devel mailing list