diff options
Diffstat (limited to 'arch/x86/include/asm/dma-mapping.h')
| -rw-r--r-- | arch/x86/include/asm/dma-mapping.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h index 0ee770d23d0e..6a25d5d42836 100644 --- a/arch/x86/include/asm/dma-mapping.h +++ b/arch/x86/include/asm/dma-mapping.h | |||
| @@ -14,6 +14,12 @@ | |||
| 14 | #include <asm/swiotlb.h> | 14 | #include <asm/swiotlb.h> |
| 15 | #include <asm-generic/dma-coherent.h> | 15 | #include <asm-generic/dma-coherent.h> |
| 16 | 16 | ||
| 17 | #ifdef CONFIG_ISA | ||
| 18 | # define ISA_DMA_BIT_MASK DMA_BIT_MASK(24) | ||
| 19 | #else | ||
| 20 | # define ISA_DMA_BIT_MASK DMA_BIT_MASK(32) | ||
| 21 | #endif | ||
| 22 | |||
| 17 | extern dma_addr_t bad_dma_address; | 23 | extern dma_addr_t bad_dma_address; |
| 18 | extern int iommu_merge; | 24 | extern int iommu_merge; |
| 19 | extern struct device x86_dma_fallback_dev; | 25 | extern struct device x86_dma_fallback_dev; |
| @@ -124,10 +130,8 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, | |||
| 124 | if (dma_alloc_from_coherent(dev, size, dma_handle, &memory)) | 130 | if (dma_alloc_from_coherent(dev, size, dma_handle, &memory)) |
| 125 | return memory; | 131 | return memory; |
| 126 | 132 | ||
| 127 | if (!dev) { | 133 | if (!dev) |
| 128 | dev = &x86_dma_fallback_dev; | 134 | dev = &x86_dma_fallback_dev; |
| 129 | gfp |= GFP_DMA; | ||
| 130 | } | ||
| 131 | 135 | ||
| 132 | if (!is_device_dma_capable(dev)) | 136 | if (!is_device_dma_capable(dev)) |
| 133 | return NULL; | 137 | return NULL; |
