summaryrefslogtreecommitdiff
path: root/sound/pci/cmipci.c
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2007-09-17 09:37:19 +0200
committerJaroslav Kysela <perex@perex.cz>2007-10-16 16:50:30 +0200
commit4ee72717188767b127b22f7a582762b71d448408 (patch)
tree2cd2d04c9e479ed46b5c1bd2a1c25eecdc2e1bf9 /sound/pci/cmipci.c
parent3042ef75203947920adc0ab7ae25bc62a1fec978 (diff)
downloadlinux-3.10-4ee72717188767b127b22f7a582762b71d448408.tar.gz
linux-3.10-4ee72717188767b127b22f7a582762b71d448408.tar.bz2
linux-3.10-4ee72717188767b127b22f7a582762b71d448408.zip
[ALSA] cmipci: initialize 0x90 registers
Initialize the registers at 0x90 and 0x91 with some undocumented values. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/cmipci.c')
-rw-r--r--sound/pci/cmipci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index 8c5c843099c..c33c1c77869 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -2986,6 +2986,10 @@ static int __devinit snd_cmipci_create(struct snd_card *card, struct pci_dev *pc
#else
snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
#endif
+ if (cm->chip_version) {
+ snd_cmipci_write_b(cm, CM_REG_EXT_MISC, 0x20); /* magic */
+ snd_cmipci_write_b(cm, CM_REG_EXT_MISC + 1, 0x09); /* more magic */
+ }
/* Set Bus Master Request */
snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_BREQ);