summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2008-09-19 02:02:05 +0900
committerIngo Molnar <mingo@elte.hu>2008-09-19 10:20:41 +0200
commit07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4 (patch)
tree2c01e2ee314cf62e5a96cf7c6bde49a377a446df
parentf6a32a36ab96016675cd414802904feb288d7899 (diff)
downloadlinux-stable-07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4.tar.gz
linux-stable-07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4.tar.bz2
linux-stable-07a2c01a0c2a0cb4581a67d50d4f17cb4d2457c4.zip
convert swiotlb to use dma_get_mask
swiotlb can use dma_get_mask() instead of the homegrown function. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: tony.luck@intel.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/linux/dma-mapping.h2
-rw-r--r--lib/swiotlb.c6
2 files changed, 2 insertions, 6 deletions
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index 0dba7433af18..ba9114ec5d3a 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -65,7 +65,7 @@ static inline int is_buffer_dma_capable(u64 mask, dma_addr_t addr, size_t size)
static inline u64 dma_get_mask(struct device *dev)
{
- if (dev->dma_mask && *dev->dma_mask)
+ if (dev && dev->dma_mask && *dev->dma_mask)
return *dev->dma_mask;
return DMA_32BIT_MASK;
}
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index 240a67c2c979..f8eebd489149 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -276,11 +276,7 @@ cleanup1:
static int
address_needs_mapping(struct device *hwdev, dma_addr_t addr, size_t size)
{
- dma_addr_t mask = 0xffffffff;
- /* If the device has a mask, use it, otherwise default to 32 bits */
- if (hwdev && hwdev->dma_mask)
- mask = *hwdev->dma_mask;
- return !is_buffer_dma_capable(mask, addr, size);
+ return !is_buffer_dma_capable(dma_get_mask(hwdev), addr, size);
}
static int is_swiotlb_buffer(char *addr)