diff options
author | Becky Bruce <beckyb@kernel.crashing.org> | 2009-09-21 04:26:34 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-09-24 01:31:43 -0400 |
commit | 1cebd7a0f62804ca24f7b7b35e8105000b9e879a (patch) | |
tree | 57f04a5882d595cab859e2820d998bcde4660074 /arch/powerpc/kernel/dma.c | |
parent | b9eceb2307f8dda124669a9dc213aad8c1569b5a (diff) |
powerpc: Rename get_dma_direct_offset get_dma_offset
The former is no longer really accurate with the swiotlb case now
a possibility. I also move it into dma-mapping.h - it no longer
needs to be in dma.c, and there are about to be some more accessors
that should all end up in the same place. A comment is added to
indicate that this function is not used in configs where there is no
simple dma offset, such as the iommu case.
Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/dma.c')
-rw-r--r-- | arch/powerpc/kernel/dma.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c index 21b784d7e7d0..6215062caf8c 100644 --- a/arch/powerpc/kernel/dma.c +++ b/arch/powerpc/kernel/dma.c | |||
@@ -21,13 +21,6 @@ | |||
21 | * default the offset is PCI_DRAM_OFFSET. | 21 | * default the offset is PCI_DRAM_OFFSET. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | unsigned long get_dma_direct_offset(struct device *dev) | ||
25 | { | ||
26 | if (dev) | ||
27 | return (unsigned long)dev->archdata.dma_data; | ||
28 | |||
29 | return PCI_DRAM_OFFSET; | ||
30 | } | ||
31 | 24 | ||
32 | void *dma_direct_alloc_coherent(struct device *dev, size_t size, | 25 | void *dma_direct_alloc_coherent(struct device *dev, size_t size, |
33 | dma_addr_t *dma_handle, gfp_t flag) | 26 | dma_addr_t *dma_handle, gfp_t flag) |
@@ -37,7 +30,7 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size, | |||
37 | ret = __dma_alloc_coherent(dev, size, dma_handle, flag); | 30 | ret = __dma_alloc_coherent(dev, size, dma_handle, flag); |
38 | if (ret == NULL) | 31 | if (ret == NULL) |
39 | return NULL; | 32 | return NULL; |
40 | *dma_handle += get_dma_direct_offset(dev); | 33 | *dma_handle += get_dma_offset(dev); |
41 | return ret; | 34 | return ret; |
42 | #else | 35 | #else |
43 | struct page *page; | 36 | struct page *page; |
@@ -51,7 +44,7 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size, | |||
51 | return NULL; | 44 | return NULL; |
52 | ret = page_address(page); | 45 | ret = page_address(page); |
53 | memset(ret, 0, size); | 46 | memset(ret, 0, size); |
54 | *dma_handle = virt_to_abs(ret) + get_dma_direct_offset(dev); | 47 | *dma_handle = virt_to_abs(ret) + get_dma_offset(dev); |
55 | 48 | ||
56 | return ret; | 49 | return ret; |
57 | #endif | 50 | #endif |
@@ -75,7 +68,7 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, | |||
75 | int i; | 68 | int i; |
76 | 69 | ||
77 | for_each_sg(sgl, sg, nents, i) { | 70 | for_each_sg(sgl, sg, nents, i) { |
78 | sg->dma_address = sg_phys(sg) + get_dma_direct_offset(dev); | 71 | sg->dma_address = sg_phys(sg) + get_dma_offset(dev); |
79 | sg->dma_length = sg->length; | 72 | sg->dma_length = sg->length; |
80 | __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction); | 73 | __dma_sync_page(sg_page(sg), sg->offset, sg->length, direction); |
81 | } | 74 | } |
@@ -110,7 +103,7 @@ static inline dma_addr_t dma_direct_map_page(struct device *dev, | |||
110 | { | 103 | { |
111 | BUG_ON(dir == DMA_NONE); | 104 | BUG_ON(dir == DMA_NONE); |
112 | __dma_sync_page(page, offset, size, dir); | 105 | __dma_sync_page(page, offset, size, dir); |
113 | return page_to_phys(page) + offset + get_dma_direct_offset(dev); | 106 | return page_to_phys(page) + offset + get_dma_offset(dev); |
114 | } | 107 | } |
115 | 108 | ||
116 | static inline void dma_direct_unmap_page(struct device *dev, | 109 | static inline void dma_direct_unmap_page(struct device *dev, |