ALSA: hda - Terradici HDA controllers does not support 64-bit mode
authorJaroslav Kysela <perex@perex.cz>
Wed, 9 Dec 2009 09:44:47 +0000 (10:44 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 9 Dec 2009 11:29:25 +0000 (12:29 +0100)
Confirmed from vendor and tests in RedHat bugzilla #536782 .

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index d822bfc6cad619ae0dc7e5484b271a0b7ffb56f0..efcc4f7c57f20f7a85f159588b83daa784451a08 100644 (file)
@@ -2450,6 +2450,11 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
                }
        }
 
+       /* disable 64bit DMA address for Teradici */
+       /* it does not work with device 6549:1200 subsys e4a2:040b */
+       if (chip->driver_type == AZX_DRIVER_TERA)
+               gcap &= ~ICH6_GCAP_64OK;
+
        /* allow 64bit DMA address if supported by H/W */
        if ((gcap & ICH6_GCAP_64OK) && !pci_set_dma_mask(pci, DMA_BIT_MASK(64)))
                pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(64));