lkml.org 
[lkml]   [2008]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] Wait for all codecs to be ready if doing a cold reset
    If AC97_POWER_SAVE is enabled, intel8x0 does a cold reset when
    initializing the codecs. While resuming, it does not wait for all codecs
    to be active. Sound card does not work after a resume without it,
    however. This patch fixes it.
    ---
    sound/pci/intel8x0.c | 24 ++++++++++++++----------
    1 files changed, 14 insertions(+), 10 deletions(-)

    diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
    index 048d99e..7228a0a 100644
    --- a/sound/pci/intel8x0.c
    +++ b/sound/pci/intel8x0.c
    @@ -2335,16 +2335,6 @@ static int snd_intel8x0_ich_chip_init(struct intel8x0 *chip, int probing)
    igetdword(chip, ICHREG(GLOB_STA)));
    return -EIO;
    }
    -
    - /* wait for other codecs ready status. */
    - end_time = jiffies + HZ / 4;
    - while (status != chip->codec_isr_bits &&
    - time_after_eq(end_time, jiffies)) {
    - schedule_timeout_uninterruptible(1);
    - status |= igetdword(chip, ICHREG(GLOB_STA)) &
    - chip->codec_isr_bits;
    - }
    -
    } else {
    /* resume phase */
    int i;
    @@ -2363,6 +2353,20 @@ static int snd_intel8x0_ich_chip_init(struct intel8x0 *chip, int probing)
    } while (time_after_eq(end_time, jiffies));
    }

    +#ifndef CONFIG_SND_AC97_POWER_SAVE
    + if (probing)
    +#endif
    + {
    + /* wait for other codecs ready status. */
    + end_time = jiffies + HZ / 4;
    + while (status != chip->codec_isr_bits &&
    + time_after_eq(end_time, jiffies)) {
    + schedule_timeout_uninterruptible(1);
    + status |= igetdword(chip, ICHREG(GLOB_STA)) &
    + chip->codec_isr_bits;
    + }
    + }
    +
    if (chip->device_type == DEVICE_SIS) {
    /* unmute the output on SIS7012 */
    iputword(chip, 0x4c, igetword(chip, 0x4c) | 1);
    --
    1.5.6

    \
     
     \ /
      Last update: 2008-07-06 19:19    [W:0.032 / U:93.020 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site