diff options
Diffstat (limited to 'arch/powerpc/include/asm/dma-mapping.h')
-rw-r--r-- | arch/powerpc/include/asm/dma-mapping.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/include/asm/dma-mapping.h b/arch/powerpc/include/asm/dma-mapping.h index 0c34371ec49..1765c379138 100644 --- a/arch/powerpc/include/asm/dma-mapping.h +++ b/arch/powerpc/include/asm/dma-mapping.h | |||
@@ -87,8 +87,6 @@ struct dma_mapping_ops { | |||
87 | dma_addr_t dma_address, size_t size, | 87 | dma_addr_t dma_address, size_t size, |
88 | enum dma_data_direction direction, | 88 | enum dma_data_direction direction, |
89 | struct dma_attrs *attrs); | 89 | struct dma_attrs *attrs); |
90 | int (*addr_needs_map)(struct device *dev, dma_addr_t addr, | ||
91 | size_t size); | ||
92 | #ifdef CONFIG_PPC_NEED_DMA_SYNC_OPS | 90 | #ifdef CONFIG_PPC_NEED_DMA_SYNC_OPS |
93 | void (*sync_single_range_for_cpu)(struct device *hwdev, | 91 | void (*sync_single_range_for_cpu)(struct device *hwdev, |
94 | dma_addr_t dma_handle, unsigned long offset, | 92 | dma_addr_t dma_handle, unsigned long offset, |
@@ -426,10 +424,12 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) | |||
426 | 424 | ||
427 | static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) | 425 | static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) |
428 | { | 426 | { |
429 | struct dma_mapping_ops *ops = get_dma_ops(dev); | 427 | #ifdef CONFIG_SWIOTLB |
428 | struct dev_archdata *sd = &dev->archdata; | ||
430 | 429 | ||
431 | if (ops->addr_needs_map && ops->addr_needs_map(dev, addr, size)) | 430 | if (sd->max_direct_dma_addr && addr + size > sd->max_direct_dma_addr) |
432 | return 0; | 431 | return 0; |
432 | #endif | ||
433 | 433 | ||
434 | if (!dev->dma_mask) | 434 | if (!dev->dma_mask) |
435 | return 0; | 435 | return 0; |