[ALSA] hda-intel - Support 64bit buffer allocation
authorTakashi Iwai <tiwai@suse.de>
Wed, 6 Feb 2008 14:05:57 +0000 (15:05 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 24 Apr 2008 10:00:08 +0000 (12:00 +0200)
The HD-audio hardware usually supports 64bit address for DMA and other
buffers.  The patch enables the feature if supported.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index b38a5a7..ec3ddda 100644 (file)
@@ -1843,6 +1843,10 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
        gcap = azx_readw(chip, GCAP);
        snd_printdd("chipset global capabilities = 0x%x\n", gcap);
 
+       /* allow 64bit DMA address if supported by H/W */
+       if ((gcap & 0x01) && !pci_set_dma_mask(pci, DMA_64BIT_MASK))
+               pci_set_consistent_dma_mask(pci, DMA_64BIT_MASK);
+
        if (gcap) {
                /* read number of streams from GCAP register instead of using
                 * hardcoded value