[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