[alsa-devel] HD-audio runtime->delay accounting
Takashi Iwai
tiwai at suse.de
Fri Sep 21 14:22:01 CEST 2012
At Fri, 21 Sep 2012 14:16:43 +0200,
David Henningsson wrote:
>
> On 09/21/2012 01:59 PM, Takashi Iwai wrote:
> > Hi,
> >
> > recently Pierre questioned about the validity of COMBO positioning
> > mode, and it turned out that the position reporting can be handled
> > better if we take the difference between LPIB and DMAPOS as
> > runtime->delay. (In short, LPIB points the position where the data fed
> > to the codec, and DMAPOS points the data fetched to DMA.)
> >
> > We cooked up a test patch below and it seems working well on a few
> > machines I've tested. I think we might have still chance to put this
> > into 3.7, as this would be a good improvement. The patch below is a
> > combined work of two fixes: fixing the better stream start by always
> > using SSYNC bit, and adjusting the position and runtime->delay.
>
> Interesting. A quick question: is this affecting playback, recording, or
> both?
The runtime->delay is calculated for both directions, so if apps take
account of runtime->delay, both directions are affected.
If apps check only hw_ptr, it'll be only the playback.
Now hw_ptr of playback points DMAPOS with the compensation of
runtime->delay when this new mode is used.
> > Of course, the biggest question is the test coverage.
> > David, could you check whether this doesn't break so much on (some)
> > machines you can test? Of course, if any other people can test it,
> > it'll be a great help, too.
> >
> > The patch should be applied to the latest sound.git tree master
> > branch, but it should be applicable (and easily resolvable) for older
> > versions.
>
> Against sound master:
>
> patching file sound/pci/hda/hda_intel.c
> Hunk #2 succeeded at 1987 (offset -17 lines).
> Hunk #3 succeeded at 2012 (offset -17 lines).
> Hunk #4 succeeded at 2044 (offset -17 lines).
> Hunk #5 succeeded at 2144 (offset -17 lines).
> Hunk #6 succeeded at 3426 (offset -104 lines).
> Hunk #7 succeeded at 3490 (offset -104 lines).
>
> > The patch extends this new mode only for recent Intel
> > chips, just to be sure.
>
> I don't think I have much such hardware here. But I've made DKMS package
> for easy testing by others. If you're running Ubuntu 12.04, you can just
> install this package, reboot, and test:
>
> http://people.canonical.com/~diwic/temp/alsa-hda-dkms-ssync-delay_0.1_all.deb
That's great.
thanks,
Takashi
More information about the Alsa-devel
mailing list