diff options
Diffstat (limited to 'sound/pci/intel8x0.c')
-rw-r--r-- | sound/pci/intel8x0.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 5dced5b7938..173bebf9f51 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -1854,6 +1854,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
1854 | }, | 1854 | }, |
1855 | { | 1855 | { |
1856 | .subvendor = 0x1028, | 1856 | .subvendor = 0x1028, |
1857 | .subdevice = 0x016a, | ||
1858 | .name = "Dell Inspiron 8600", /* STAC9750/51 */ | ||
1859 | .type = AC97_TUNE_HP_ONLY | ||
1860 | }, | ||
1861 | { | ||
1862 | .subvendor = 0x1028, | ||
1857 | .subdevice = 0x0186, | 1863 | .subdevice = 0x0186, |
1858 | .name = "Dell Latitude D810", /* cf. Malone #41015 */ | 1864 | .name = "Dell Latitude D810", /* cf. Malone #41015 */ |
1859 | .type = AC97_TUNE_HP_MUTE_LED | 1865 | .type = AC97_TUNE_HP_MUTE_LED |
@@ -1896,12 +1902,6 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
1896 | }, | 1902 | }, |
1897 | { | 1903 | { |
1898 | .subvendor = 0x103c, | 1904 | .subvendor = 0x103c, |
1899 | .subdevice = 0x0934, | ||
1900 | .name = "HP nx8220", | ||
1901 | .type = AC97_TUNE_MUTE_LED | ||
1902 | }, | ||
1903 | { | ||
1904 | .subvendor = 0x103c, | ||
1905 | .subdevice = 0x129d, | 1905 | .subdevice = 0x129d, |
1906 | .name = "HP xw8000", | 1906 | .name = "HP xw8000", |
1907 | .type = AC97_TUNE_HP_ONLY | 1907 | .type = AC97_TUNE_HP_ONLY |
@@ -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 | } |