lkml.org 
[lkml]   [2012]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 69/76] ALSA: hda - Stop LPIB delay counting on broken hardware
    Date
    3.6-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Takashi Iwai <tiwai@suse.de>

    commit 1f04661fde9deda4a2cd5845258715a22d8af197 upstream.

    If LPIB reports a pretty bad value, we can't trust such hardware for
    calculating the PCM delay. Automatically turn off the delay counting
    when such a problem is encountered.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=48911

    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/pci/hda/hda_intel.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    --- a/sound/pci/hda/hda_intel.c
    +++ b/sound/pci/hda/hda_intel.c
    @@ -2136,9 +2136,12 @@ static unsigned int azx_get_position(str
    if (delay < 0)
    delay += azx_dev->bufsize;
    if (delay >= azx_dev->period_bytes) {
    - snd_printdd("delay %d > period_bytes %d\n",
    - delay, azx_dev->period_bytes);
    - delay = 0; /* something is wrong */
    + snd_printk(KERN_WARNING SFX
    + "Unstable LPIB (%d >= %d); "
    + "disabling LPIB delay counting\n",
    + delay, azx_dev->period_bytes);
    + delay = 0;
    + chip->driver_caps &= ~AZX_DCAPS_COUNT_LPIB_DELAY;
    }
    azx_dev->substream->runtime->delay =
    bytes_to_frames(azx_dev->substream->runtime, delay);



    \
     
     \ /
      Last update: 2012-10-19 05:21    [W:4.992 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site