summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Horstmann <gineera@aspect135.co.uk>2006-05-23 13:29:51 +0200
committerJaroslav Kysela <perex@suse.cz>2006-06-22 21:33:57 +0200
commit721b8a297279276699900a662fa8299232ebc0e8 (patch)
tree26b007f788400ab9a1ba1775954a5050baa56824
parent302e4c2f9e2b9f07c69649782330a61c60001ac4 (diff)
downloadlinux-3.10-721b8a297279276699900a662fa8299232ebc0e8.tar.gz
linux-3.10-721b8a297279276699900a662fa8299232ebc0e8.tar.bz2
linux-3.10-721b8a297279276699900a662fa8299232ebc0e8.zip
[ALSA] ice1712 - Disable AC97 for DMX6fire
Consumer AC97 is not used by the Terratec DMX6fire, but eeprom bit indicates it is; change the stored value to disable failing consumer mode. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/ice1712/ice1712.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 00e565e1db3..aa5a41fecb0 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -2398,13 +2398,14 @@ static int __devinit snd_ice1712_chip_init(struct snd_ice1712 *ice)
udelay(200);
outb(ICE1712_NATIVE, ICEREG(ice, CONTROL));
udelay(200);
- if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE && !ice->dxr_enable) {
- /* Limit active ADCs and DACs to 6; */
- /* Note: DXR extension not supported */
- pci_write_config_byte(ice->pci, 0x60, 0x2a);
- } else {
- pci_write_config_byte(ice->pci, 0x60, ice->eeprom.data[ICE_EEP1_CODEC]);
- }
+ if (ice->eeprom.subvendor == ICE1712_SUBDEVICE_DMX6FIRE &&
+ !ice->dxr_enable)
+ /* Set eeprom value to limit active ADCs and DACs to 6;
+ * Also disable AC97 as no hardware in standard 6fire card/box
+ * Note: DXR extensions are not currently supported
+ */
+ ice->eeprom.data[ICE_EEP1_CODEC] = 0x3a;
+ pci_write_config_byte(ice->pci, 0x60, ice->eeprom.data[ICE_EEP1_CODEC]);
pci_write_config_byte(ice->pci, 0x61, ice->eeprom.data[ICE_EEP1_ACLINK]);
pci_write_config_byte(ice->pci, 0x62, ice->eeprom.data[ICE_EEP1_I2SID]);
pci_write_config_byte(ice->pci, 0x63, ice->eeprom.data[ICE_EEP1_SPDIF]);