diff options
-rw-r--r-- | sound/pci/ctxfi/cthw20k2.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sound/pci/ctxfi/cthw20k2.c b/sound/pci/ctxfi/cthw20k2.c index 041199fbae16..edbfb4827469 100644 --- a/sound/pci/ctxfi/cthw20k2.c +++ b/sound/pci/ctxfi/cthw20k2.c | |||
@@ -26,7 +26,11 @@ | |||
26 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
27 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
28 | 28 | ||
29 | #define CT_XFI_DMA_MASK DMA_BIT_MASK(32) /* 32 bits */ | 29 | #if BITS_PER_LONG == 32 |
30 | #define CT_XFI_DMA_MASK DMA_BIT_MASK(32) /* 32 bit PTE */ | ||
31 | #else | ||
32 | #define CT_XFI_DMA_MASK DMA_BIT_MASK(64) /* 64 bit PTE */ | ||
33 | #endif | ||
30 | 34 | ||
31 | static u32 hw_read_20kx(struct hw *hw, u32 reg); | 35 | static u32 hw_read_20kx(struct hw *hw, u32 reg); |
32 | static void hw_write_20kx(struct hw *hw, u32 reg, u32 data); | 36 | static void hw_write_20kx(struct hw *hw, u32 reg, u32 data); |
@@ -1834,18 +1838,16 @@ static int hw_card_start(struct hw *hw) | |||
1834 | int err = 0; | 1838 | int err = 0; |
1835 | struct pci_dev *pci = hw->pci; | 1839 | struct pci_dev *pci = hw->pci; |
1836 | unsigned int gctl; | 1840 | unsigned int gctl; |
1837 | unsigned int dma_mask = 0; | ||
1838 | 1841 | ||
1839 | err = pci_enable_device(pci); | 1842 | err = pci_enable_device(pci); |
1840 | if (err < 0) | 1843 | if (err < 0) |
1841 | return err; | 1844 | return err; |
1842 | 1845 | ||
1843 | /* Set DMA transfer mask */ | 1846 | /* Set DMA transfer mask */ |
1844 | dma_mask = CT_XFI_DMA_MASK; | 1847 | if (pci_set_dma_mask(pci, CT_XFI_DMA_MASK) < 0 || |
1845 | if (pci_set_dma_mask(pci, dma_mask) < 0 || | 1848 | pci_set_consistent_dma_mask(pci, CT_XFI_DMA_MASK) < 0) { |
1846 | pci_set_consistent_dma_mask(pci, dma_mask) < 0) { | ||
1847 | printk(KERN_ERR "ctxfi: architecture does not support PCI " | 1849 | printk(KERN_ERR "ctxfi: architecture does not support PCI " |
1848 | "busmaster DMA with mask 0x%x\n", dma_mask); | 1850 | "busmaster DMA with mask 0x%llx\n", CT_XFI_DMA_MASK); |
1849 | err = -ENXIO; | 1851 | err = -ENXIO; |
1850 | goto error1; | 1852 | goto error1; |
1851 | } | 1853 | } |