diff options
Diffstat (limited to 'include/linux/dma-direct.h')
| -rw-r--r-- | include/linux/dma-direct.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/dma-direct.h b/include/linux/dma-direct.h index 8d9f33febde5..fbca184ff5a0 100644 --- a/include/linux/dma-direct.h +++ b/include/linux/dma-direct.h | |||
| @@ -27,7 +27,8 @@ static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) | |||
| 27 | if (!dev->dma_mask) | 27 | if (!dev->dma_mask) |
| 28 | return false; | 28 | return false; |
| 29 | 29 | ||
| 30 | return addr + size - 1 <= *dev->dma_mask; | 30 | return addr + size - 1 <= |
| 31 | min_not_zero(*dev->dma_mask, dev->bus_dma_mask); | ||
| 31 | } | 32 | } |
| 32 | #endif /* !CONFIG_ARCH_HAS_PHYS_TO_DMA */ | 33 | #endif /* !CONFIG_ARCH_HAS_PHYS_TO_DMA */ |
| 33 | 34 | ||
| @@ -55,10 +56,15 @@ static inline void dma_mark_clean(void *addr, size_t size) | |||
| 55 | } | 56 | } |
| 56 | #endif /* CONFIG_ARCH_HAS_DMA_MARK_CLEAN */ | 57 | #endif /* CONFIG_ARCH_HAS_DMA_MARK_CLEAN */ |
| 57 | 58 | ||
| 59 | u64 dma_direct_get_required_mask(struct device *dev); | ||
| 58 | void *dma_direct_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, | 60 | void *dma_direct_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, |
| 59 | gfp_t gfp, unsigned long attrs); | 61 | gfp_t gfp, unsigned long attrs); |
| 60 | void dma_direct_free(struct device *dev, size_t size, void *cpu_addr, | 62 | void dma_direct_free(struct device *dev, size_t size, void *cpu_addr, |
| 61 | dma_addr_t dma_addr, unsigned long attrs); | 63 | dma_addr_t dma_addr, unsigned long attrs); |
| 64 | void *dma_direct_alloc_pages(struct device *dev, size_t size, | ||
| 65 | dma_addr_t *dma_handle, gfp_t gfp, unsigned long attrs); | ||
| 66 | void dma_direct_free_pages(struct device *dev, size_t size, void *cpu_addr, | ||
| 67 | dma_addr_t dma_addr, unsigned long attrs); | ||
| 62 | dma_addr_t dma_direct_map_page(struct device *dev, struct page *page, | 68 | dma_addr_t dma_direct_map_page(struct device *dev, struct page *page, |
| 63 | unsigned long offset, size_t size, enum dma_data_direction dir, | 69 | unsigned long offset, size_t size, enum dma_data_direction dir, |
| 64 | unsigned long attrs); | 70 | unsigned long attrs); |
