[pulseaudio-discuss] [RFC PATCH] alsa-sink: Reduce hardware pointer update syscalls

Peter Meerwald pmeerw at pmeerw.net
Thu Oct 2 01:11:25 PDT 2014


Hello,


> > anyway, above patch might have fixed the issue and I was able to do some
> > measurements on a beagleboard (ARMv7, OMAP3, TPS65950 PMIC audio),
> > Linux kernel 3.7 and PA shortly before the srbchannel patches...
> 
> Even the driver use SNDRV_PCM_INFO_NO_PERIOD_WAKEUP which is necessary but
> no sufficient
> 
> For timer schedulling, the driver need to report dma residue
> and it look like some omap cannot report DMA residue granularity
> 
> Can your hardware report dma residue granularity?
> 
> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/soc/omap/omap-pcm.c
> 
> static snd_pcm_uframes_t omap_pcm_pointer(struct snd_pcm_substream
> *substream)
> {
> snd_pcm_uframes_t offset;
> 
> if (pcm_omap1510())

this is true for ancient OMAP1 only, OMAP3 uses snd_dmaengine_pcm_pointer()

> offset = snd_dmaengine_pcm_pointer_no_residue(substream);
> else
> offset = snd_dmaengine_pcm_pointer(substream);
> 
> return offset;
> }

> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/soc/soc-generic-dmaengine-pcm.c?id=93b943edfc5e439f7b843535e0bb0f7d2371f67f
> https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/soc/soc-generic-dmaengine-pcm.c?id=478028e088d6a94666d8a776be2cd2291faf3bbd

these are rather recent additions, I'm using kernel 3.7 (could try a newer 
of course)

p.

-- 

Peter Meerwald
+43-664-2444418 (mobile)


More information about the pulseaudio-discuss mailing list