[alsa-devel] Question about tsched=0 on PulseAudio
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Thu May 18 10:16:11 CEST 2017
Hi Takashi-san
# Oops !?
# You and Iwai-san are both same name :)
> > OK, thank you for your explanation.
> > My current driver updates snd_pcm_ops::pointer only when DMA transfer was
> > finished, but I guess it needs to adjust to update it during transfer, too.
> > I think I can use dmaengine_tx_status() for this purpose.
> > I don't know how to know about delay, but I will try update pointer as 1st step.
>
> If your driver calls 'snd_pcm_period_elapsed()' in any hw/sw IRQ
> context, it's correct. But 'struct snd_pcm_ops.pointer' callback is
> not only executed by the function, but also in the other contexts such
> as ioctl(2) with HWSYNC.
>
> In design of ALSA PCM core, the callback is expected to return the
> number of PCM frames currently transferred via physical audio serial
> bus, inner PCM period boundary. As long as I know, recent hardwares
> have any register for this purpose and your driver could calculate the
> number.
>
> The 'accuracy' represents how accurate the returned number is, against
> actual transferring via audio serial bus.
Thank you for your detail explanation.
I will adjust my driver
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list