On 12/31/2011 06:00 PM, Alan Cox wrote:
Thanks, applied.
Meanwhile, could you double-check whether AZX_DCAPS_POSFIX_LPIB isn't needed? We have enabled this bit for Poulsbo recently for working around problems regarding the playback positions.
That was my thought as well, but Takashi was quicker, as usual :-)
Is there a good way to test this and I'll run the test and see.
I wouldn't say we have a really good way to test it; but PulseAudio is relying heavily on this to be correct. So in short - test both playback and recording through PulseAudio, and also test making volume changes while playing back (or recording). If one position fix method is broken, it usually manifests itself by glitches, audio breaking up, or maybe stops completely. (There is actually a test tool called alsa-time-test written by Lennart Poettering, but AFAIK it only tests playback, and I don't exactly know how to use it.)
A quick way to test different position fix methods is to add this module parameter:
# This will read from LPIB options snd-hda-intel position_fix=1
# This will read from DMA Position buffer (the default as specified in your patch) options snd-hda-intel position_fix=2
Btw, you seem to be employed by Intel these days? [1] Any chance you can talk to your firmware developers of this chip? I assume somebody at Intel should know what method to prefer. That would be the safest/best option IMHO.