diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/alpha/kernel/pci_iommu.c | 1 | ||||
-rw-r--r-- | arch/arm/common/dmabounce.c | 1 | ||||
-rw-r--r-- | arch/mips/mm/dma-default.c | 1 | ||||
-rw-r--r-- | arch/parisc/kernel/pci-dma.c | 1 | ||||
-rw-r--r-- | arch/sparc64/kernel/iommu_common.c | 5 |
5 files changed, 9 insertions, 0 deletions
diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c index ee07dceae1d4..2d00a08d3f08 100644 --- a/arch/alpha/kernel/pci_iommu.c +++ b/arch/alpha/kernel/pci_iommu.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/pci.h> | 7 | #include <linux/pci.h> |
8 | #include <linux/slab.h> | 8 | #include <linux/slab.h> |
9 | #include <linux/bootmem.h> | 9 | #include <linux/bootmem.h> |
10 | #include <linux/scatterlist.h> | ||
10 | #include <linux/log2.h> | 11 | #include <linux/log2.h> |
11 | 12 | ||
12 | #include <asm/io.h> | 13 | #include <asm/io.h> |
diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index 9d371e476552..52fc6a883281 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/dma-mapping.h> | 29 | #include <linux/dma-mapping.h> |
30 | #include <linux/dmapool.h> | 30 | #include <linux/dmapool.h> |
31 | #include <linux/list.h> | 31 | #include <linux/list.h> |
32 | #include <linux/scatterlist.h> | ||
32 | 33 | ||
33 | #include <asm/cacheflush.h> | 34 | #include <asm/cacheflush.h> |
34 | 35 | ||
diff --git a/arch/mips/mm/dma-default.c b/arch/mips/mm/dma-default.c index b0b034c4654f..b1b40527658b 100644 --- a/arch/mips/mm/dma-default.c +++ b/arch/mips/mm/dma-default.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/string.h> | 15 | #include <linux/string.h> |
16 | #include <linux/scatterlist.h> | ||
16 | 17 | ||
17 | #include <asm/cache.h> | 18 | #include <asm/cache.h> |
18 | #include <asm/io.h> | 19 | #include <asm/io.h> |
diff --git a/arch/parisc/kernel/pci-dma.c b/arch/parisc/kernel/pci-dma.c index 41f8e321e34c..9448d4e91142 100644 --- a/arch/parisc/kernel/pci-dma.c +++ b/arch/parisc/kernel/pci-dma.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
26 | #include <linux/string.h> | 26 | #include <linux/string.h> |
27 | #include <linux/types.h> | 27 | #include <linux/types.h> |
28 | #include <linux/scatterlist.h> | ||
28 | 29 | ||
29 | #include <asm/cacheflush.h> | 30 | #include <asm/cacheflush.h> |
30 | #include <asm/dma.h> /* for DMA_CHUNK_SIZE */ | 31 | #include <asm/dma.h> /* for DMA_CHUNK_SIZE */ |
diff --git a/arch/sparc64/kernel/iommu_common.c b/arch/sparc64/kernel/iommu_common.c index 78e8277df655..b70324e0d83d 100644 --- a/arch/sparc64/kernel/iommu_common.c +++ b/arch/sparc64/kernel/iommu_common.c | |||
@@ -233,6 +233,11 @@ unsigned long prepare_sg(struct scatterlist *sg, int nents) | |||
233 | dma_sg->dma_address = dent_addr; | 233 | dma_sg->dma_address = dent_addr; |
234 | dma_sg->dma_length = dent_len; | 234 | dma_sg->dma_length = dent_len; |
235 | 235 | ||
236 | if (dma_sg != sg) { | ||
237 | dma_sg = next_sg(dma_sg); | ||
238 | dma_sg->dma_length = 0; | ||
239 | } | ||
240 | |||
236 | return ((unsigned long) dent_addr + | 241 | return ((unsigned long) dent_addr + |
237 | (unsigned long) dent_len + | 242 | (unsigned long) dent_len + |
238 | (IO_PAGE_SIZE - 1UL)) >> IO_PAGE_SHIFT; | 243 | (IO_PAGE_SIZE - 1UL)) >> IO_PAGE_SHIFT; |