ALSA: hda - Ignore small negative LPIB delay correction
authorTakashi Iwai <tiwai@suse.de>
Fri, 6 Dec 2013 16:15:01 +0000 (17:15 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 6 Dec 2013 16:28:49 +0000 (17:28 +0100)
commite8648e5e33e45fa2bb8706107eafc8ef42ed0774
treeb0d29ff5c211490269ee4b540bea44684332af83
parent4f7f67fb774168a25802919493cdff41c8b9e384
ALSA: hda - Ignore small negative LPIB delay correction

Sometimes the hardware reports LPIB being advanced than POSBUF.
When this happens, the driver adjusts to a positive value by adding
the buffer size.  Then the driver detects it as an error (greater than
the period size), and stops the LPIB delay account from this point
on.

When I took a close look at these conditions, the values shown are all
very small numbers, and it'd be better to just ignore these values
instead of discontinuing the LPIB delay correction.

In this patch, the driver checks a negative delay value and ignores if
it's a significantly small error.  Currently the threshold is set to
64 frames, but could be smaller.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c