diff options
Diffstat (limited to 'arch/ia64/kernel/pci-swiotlb.c')
-rw-r--r-- | arch/ia64/kernel/pci-swiotlb.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/ia64/kernel/pci-swiotlb.c b/arch/ia64/kernel/pci-swiotlb.c index 717ad4f1c708..573f02c39a00 100644 --- a/arch/ia64/kernel/pci-swiotlb.c +++ b/arch/ia64/kernel/pci-swiotlb.c | |||
@@ -13,8 +13,16 @@ | |||
13 | int swiotlb __read_mostly; | 13 | int swiotlb __read_mostly; |
14 | EXPORT_SYMBOL(swiotlb); | 14 | EXPORT_SYMBOL(swiotlb); |
15 | 15 | ||
16 | static void *ia64_swiotlb_alloc_coherent(struct device *dev, size_t size, | ||
17 | dma_addr_t *dma_handle, gfp_t gfp) | ||
18 | { | ||
19 | if (dev->coherent_dma_mask != DMA_64BIT_MASK) | ||
20 | gfp |= GFP_DMA; | ||
21 | return swiotlb_alloc_coherent(dev, size, dma_handle, gfp); | ||
22 | } | ||
23 | |||
16 | struct dma_map_ops swiotlb_dma_ops = { | 24 | struct dma_map_ops swiotlb_dma_ops = { |
17 | .alloc_coherent = swiotlb_alloc_coherent, | 25 | .alloc_coherent = ia64_swiotlb_alloc_coherent, |
18 | .free_coherent = swiotlb_free_coherent, | 26 | .free_coherent = swiotlb_free_coherent, |
19 | .map_page = swiotlb_map_page, | 27 | .map_page = swiotlb_map_page, |
20 | .unmap_page = swiotlb_unmap_page, | 28 | .unmap_page = swiotlb_unmap_page, |