summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_intel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-02-06 15:05:57 +0100
committerTakashi Iwai <tiwai@suse.de>2008-04-24 12:00:08 +0200
commitcf7aaca8bae3a719db47ff6eca5f6f2f42eba05a (patch)
tree2af8d01bc049db833e87602ea25ab1abe8f91cd8 /sound/pci/hda/hda_intel.c
parent4ce107b990d994a0fccea9b1e885b08a0daea495 (diff)
[ALSA] hda-intel - Support 64bit buffer allocation
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>
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r--sound/pci/hda/hda_intel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index b38a5a70ff0..ec3ddda30be 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -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