diff options
| -rw-r--r-- | include/asm-x86_64/dma-mapping.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/include/asm-x86_64/dma-mapping.h b/include/asm-x86_64/dma-mapping.h index e784fdc524f1..45ca88c875c0 100644 --- a/include/asm-x86_64/dma-mapping.h +++ b/include/asm-x86_64/dma-mapping.h | |||
| @@ -85,10 +85,33 @@ static inline void dma_sync_single_for_device(struct device *hwdev, | |||
| 85 | flush_write_buffers(); | 85 | flush_write_buffers(); |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | #define dma_sync_single_range_for_cpu(dev, dma_handle, offset, size, dir) \ | 88 | static inline void dma_sync_single_range_for_cpu(struct device *hwdev, |
| 89 | dma_sync_single_for_cpu(dev, dma_handle, size, dir) | 89 | dma_addr_t dma_handle, |
| 90 | #define dma_sync_single_range_for_device(dev, dma_handle, offset, size, dir) \ | 90 | unsigned long offset, |
| 91 | dma_sync_single_for_device(dev, dma_handle, size, dir) | 91 | size_t size, int direction) |
| 92 | { | ||
| 93 | if (direction == DMA_NONE) | ||
| 94 | out_of_line_bug(); | ||
| 95 | |||
| 96 | if (swiotlb) | ||
| 97 | return swiotlb_sync_single_range_for_cpu(hwdev,dma_handle,offset,size,direction); | ||
| 98 | |||
| 99 | flush_write_buffers(); | ||
| 100 | } | ||
| 101 | |||
| 102 | static inline void dma_sync_single_range_for_device(struct device *hwdev, | ||
| 103 | dma_addr_t dma_handle, | ||
| 104 | unsigned long offset, | ||
| 105 | size_t size, int direction) | ||
| 106 | { | ||
| 107 | if (direction == DMA_NONE) | ||
| 108 | out_of_line_bug(); | ||
| 109 | |||
| 110 | if (swiotlb) | ||
| 111 | return swiotlb_sync_single_range_for_device(hwdev,dma_handle,offset,size,direction); | ||
| 112 | |||
| 113 | flush_write_buffers(); | ||
| 114 | } | ||
| 92 | 115 | ||
| 93 | static inline void dma_sync_sg_for_cpu(struct device *hwdev, | 116 | static inline void dma_sync_sg_for_cpu(struct device *hwdev, |
| 94 | struct scatterlist *sg, | 117 | struct scatterlist *sg, |
