[RFC] dmaengine: omap-dma: Allow DMA controller to prefetch data

Mark A. Greer mgreer at animalcreek.com
Thu Oct 18 19:24:05 EDT 2012


On Thu, Oct 18, 2012 at 11:55:40PM +0100, Russell King - ARM Linux wrote:
> On Thu, Oct 18, 2012 at 03:20:46PM -0700, Mark A. Greer wrote:
> > This patch seems fairly stable but I've only tested omap-sham (crypto)
> > and omap_hsmmc (mmc) on an am37x EVM.  I also enabled burst mode but
> > that made the system unstable when exercising either omap-sham or
> > omap_hsmmc.  I'm unaware of any errata that would make this an unwanted
> > modification but I haven't checked all of the SoCs.  Are there other
> > reasons that this should be applied??
> 
> It definitely needs checking with audio, because it will affect the
> pointer position in relation to audio output, and it will have an
> effect on how much audio data is lost over a pause/resume event.
> 
> Unfortunately, the OMAP DMA hardware has no way to do a proper "pause",
> it can only do a "stop" which involves dumping its FIFOs on the floor
> in the case of anything but a DEV->MEM transfer.  So the more data
> held in the DMA hardware, the more is lost on pause.

Hmm, interesting.

Is there a way to tweak DMA params like this on a per logical channel
basis using the dmaengine API?  I don't see any but I could have missed it.

If not, are you open to adding such a thing (e.g., extend 'enum dma_ctrl_flags'
with DMA_ENABL_PREFETCH)?

Mark
--



More information about the linux-arm-kernel mailing list