diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-04-22 03:09:29 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-04-22 03:09:29 -0400 |
commit | 248e88247a0e03125a663be69f2656d2e158371e (patch) | |
tree | 8795079c01733086b18cf0e995dbd9892ca328f6 /sound/pci | |
parent | bc8d489c44e05fae469f63b40c0da0718dba6798 (diff) | |
parent | 30fd9940eee910d847f48bd8740b2d0eaa8d2cfc (diff) |
Merge commit 'alsa/master' into for-linus
* commit 'alsa/master':
[ALSA] intel8x0: another attempt to fix ac97_clock measure routine
[ALSA] ac97_codec: increase timeout for analog subsections
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/ac97/ac97_codec.c | 2 | ||||
-rw-r--r-- | sound/pci/intel8x0.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index 97ee127ac33d..78288dbfc17a 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -2122,7 +2122,7 @@ int snd_ac97_mixer(struct snd_ac97_bus *bus, struct snd_ac97_template *template, | |||
2122 | } | 2122 | } |
2123 | /* nothing should be in powerdown mode */ | 2123 | /* nothing should be in powerdown mode */ |
2124 | snd_ac97_write_cache(ac97, AC97_GENERAL_PURPOSE, 0); | 2124 | snd_ac97_write_cache(ac97, AC97_GENERAL_PURPOSE, 0); |
2125 | end_time = jiffies + msecs_to_jiffies(100); | 2125 | end_time = jiffies + msecs_to_jiffies(120); |
2126 | do { | 2126 | do { |
2127 | if ((snd_ac97_read(ac97, AC97_POWERDOWN) & 0x0f) == 0x0f) | 2127 | if ((snd_ac97_read(ac97, AC97_POWERDOWN) & 0x0f) == 0x0f) |
2128 | goto __ready_ok; | 2128 | goto __ready_ok; |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 8042d5398892..173bebf9f51d 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -2751,11 +2751,12 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2751 | if (pos == 0) { | 2751 | if (pos == 0) { |
2752 | snd_printk(KERN_ERR "intel8x0: measure - unreliable DMA position..\n"); | 2752 | snd_printk(KERN_ERR "intel8x0: measure - unreliable DMA position..\n"); |
2753 | __retry: | 2753 | __retry: |
2754 | if (attempt < 2) { | 2754 | if (attempt < 3) { |
2755 | msleep(300); | ||
2755 | attempt++; | 2756 | attempt++; |
2756 | goto __again; | 2757 | goto __again; |
2757 | } | 2758 | } |
2758 | return; | 2759 | goto __end; |
2759 | } | 2760 | } |
2760 | 2761 | ||
2761 | pos /= 4; | 2762 | pos /= 4; |
@@ -2782,6 +2783,7 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip) | |||
2782 | else if (pos < 47500 || pos > 48500) | 2783 | else if (pos < 47500 || pos > 48500) |
2783 | /* not 48000Hz, tuning the clock.. */ | 2784 | /* not 48000Hz, tuning the clock.. */ |
2784 | chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos; | 2785 | chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos; |
2786 | __end: | ||
2785 | printk(KERN_INFO "intel8x0: clocking to %d\n", chip->ac97_bus->clock); | 2787 | printk(KERN_INFO "intel8x0: clocking to %d\n", chip->ac97_bus->clock); |
2786 | snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0); | 2788 | snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0); |
2787 | } | 2789 | } |