'Twas brillig, and David Henningsson at 01/09/10 08:36 did gyre and gimble: > On 2010-08-31 17:57, Colin Guthrie wrote: >> 'Twas brillig, and pl bossart at 19/08/10 14:52 did gyre and gimble: >>>>> Assuming your reasoning is correct (I'm not that deep into DMA yet), >>>>> this should be fixed in the kernel - by not allowing rewinds further >>>>> back than 128 (or 256) bytes ahead of actual position. >>>>> You say HDA can transfer up to 128 bytes in advance, but what about >>>>> all >>>>> the other drivers? Could there be other drivers having a lot larger >>>>> DMA >>>>> fetches? >>>> >>>> What's the role of snd_pcm_rewindable()[1]? The documentation says "Get >>>> safe count of frames which can be rewinded", which sounds to me like >>>> the >>>> function should always be called before snd_pcm_rewind(). Currently PA >>>> doesn't call _rewindable(). >>> >>> Yes it should be fixed in the kernel, but the DMA transfer size is not >>> necessarily documented and known. Worse, it can vary depending on the >>> mode. So until the kernel folks figure out a solution, and said >>> solution works for all know drivers, this patch is mandatory on the >>> PulseAudio side. >> >> >> Don't want to lose momentum on this patch, so just poking about. > > Good initiative. > >> What is the next stage here? > > Probably either one will work, but if we're about to release 0.9.22 > (heard something from Lennart yet?), I suggest we go with my version for > 0.9.22 as that one is the least invasive (only touches non-tsched > devices), and keep Pierre's version in master. Sounds reasonable. Pierre, what's your take? Spoke briefly to to Lennart, I think he was generally up for some kind of release, but we'll wait for a couple weeks when F15 beta freeze hits and thus his systemd work will be paused for a while at least and he can focus some of his time back on PA :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]