[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