OSDN Git Service

dma-mapping: take dma_pfn_offset into account in dma_max_pfn
authorChristoph Hellwig <hch@lst.de>
Thu, 30 Nov 2017 15:32:51 +0000 (07:32 -0800)
committerChristoph Hellwig <hch@lst.de>
Wed, 10 Jan 2018 15:25:06 +0000 (16:25 +0100)
This makes sure the generic version can be used with architectures /
devices that have a DMA offset in the direct mapping.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
include/linux/dma-mapping.h

index 81ed9b2..d849518 100644 (file)
@@ -692,7 +692,7 @@ static inline int dma_set_seg_boundary(struct device *dev, unsigned long mask)
 #ifndef dma_max_pfn
 static inline unsigned long dma_max_pfn(struct device *dev)
 {
-       return *dev->dma_mask >> PAGE_SHIFT;
+       return (*dev->dma_mask >> PAGE_SHIFT) + dev->dma_pfn_offset;
 }
 #endif