diff options
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/dma-iommu.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/dma-swiotlb.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/dma.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/fadump.c | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/ibmebus.c | 10 | ||||
-rw-r--r-- | arch/powerpc/kernel/kgdb.c | 1 | ||||
-rw-r--r-- | arch/powerpc/kernel/vio.c | 14 |
7 files changed, 31 insertions, 20 deletions
diff --git a/arch/powerpc/kernel/dma-iommu.c b/arch/powerpc/kernel/dma-iommu.c index 3f6464b4d970..bcfdcd22c766 100644 --- a/arch/powerpc/kernel/dma-iommu.c +++ b/arch/powerpc/kernel/dma-iommu.c | |||
@@ -17,7 +17,8 @@ | |||
17 | * to the dma address (mapping) of the first page. | 17 | * to the dma address (mapping) of the first page. |
18 | */ | 18 | */ |
19 | static void *dma_iommu_alloc_coherent(struct device *dev, size_t size, | 19 | static void *dma_iommu_alloc_coherent(struct device *dev, size_t size, |
20 | dma_addr_t *dma_handle, gfp_t flag) | 20 | dma_addr_t *dma_handle, gfp_t flag, |
21 | struct dma_attrs *attrs) | ||
21 | { | 22 | { |
22 | return iommu_alloc_coherent(dev, get_iommu_table_base(dev), size, | 23 | return iommu_alloc_coherent(dev, get_iommu_table_base(dev), size, |
23 | dma_handle, dev->coherent_dma_mask, flag, | 24 | dma_handle, dev->coherent_dma_mask, flag, |
@@ -25,7 +26,8 @@ static void *dma_iommu_alloc_coherent(struct device *dev, size_t size, | |||
25 | } | 26 | } |
26 | 27 | ||
27 | static void dma_iommu_free_coherent(struct device *dev, size_t size, | 28 | static void dma_iommu_free_coherent(struct device *dev, size_t size, |
28 | void *vaddr, dma_addr_t dma_handle) | 29 | void *vaddr, dma_addr_t dma_handle, |
30 | struct dma_attrs *attrs) | ||
29 | { | 31 | { |
30 | iommu_free_coherent(get_iommu_table_base(dev), size, vaddr, dma_handle); | 32 | iommu_free_coherent(get_iommu_table_base(dev), size, vaddr, dma_handle); |
31 | } | 33 | } |
@@ -105,8 +107,8 @@ static u64 dma_iommu_get_required_mask(struct device *dev) | |||
105 | } | 107 | } |
106 | 108 | ||
107 | struct dma_map_ops dma_iommu_ops = { | 109 | struct dma_map_ops dma_iommu_ops = { |
108 | .alloc_coherent = dma_iommu_alloc_coherent, | 110 | .alloc = dma_iommu_alloc_coherent, |
109 | .free_coherent = dma_iommu_free_coherent, | 111 | .free = dma_iommu_free_coherent, |
110 | .map_sg = dma_iommu_map_sg, | 112 | .map_sg = dma_iommu_map_sg, |
111 | .unmap_sg = dma_iommu_unmap_sg, | 113 | .unmap_sg = dma_iommu_unmap_sg, |
112 | .dma_supported = dma_iommu_dma_supported, | 114 | .dma_supported = dma_iommu_dma_supported, |
diff --git a/arch/powerpc/kernel/dma-swiotlb.c b/arch/powerpc/kernel/dma-swiotlb.c index 1ebc9189aada..4ab88dafb235 100644 --- a/arch/powerpc/kernel/dma-swiotlb.c +++ b/arch/powerpc/kernel/dma-swiotlb.c | |||
@@ -47,8 +47,8 @@ static u64 swiotlb_powerpc_get_required(struct device *dev) | |||
47 | * for everything else. | 47 | * for everything else. |
48 | */ | 48 | */ |
49 | struct dma_map_ops swiotlb_dma_ops = { | 49 | struct dma_map_ops swiotlb_dma_ops = { |
50 | .alloc_coherent = dma_direct_alloc_coherent, | 50 | .alloc = dma_direct_alloc_coherent, |
51 | .free_coherent = dma_direct_free_coherent, | 51 | .free = dma_direct_free_coherent, |
52 | .map_sg = swiotlb_map_sg_attrs, | 52 | .map_sg = swiotlb_map_sg_attrs, |
53 | .unmap_sg = swiotlb_unmap_sg_attrs, | 53 | .unmap_sg = swiotlb_unmap_sg_attrs, |
54 | .dma_supported = swiotlb_dma_supported, | 54 | .dma_supported = swiotlb_dma_supported, |
diff --git a/arch/powerpc/kernel/dma.c b/arch/powerpc/kernel/dma.c index 7d0233c12ee3..b1ec983dcec8 100644 --- a/arch/powerpc/kernel/dma.c +++ b/arch/powerpc/kernel/dma.c | |||
@@ -26,7 +26,8 @@ | |||
26 | 26 | ||
27 | 27 | ||
28 | void *dma_direct_alloc_coherent(struct device *dev, size_t size, | 28 | void *dma_direct_alloc_coherent(struct device *dev, size_t size, |
29 | dma_addr_t *dma_handle, gfp_t flag) | 29 | dma_addr_t *dma_handle, gfp_t flag, |
30 | struct dma_attrs *attrs) | ||
30 | { | 31 | { |
31 | void *ret; | 32 | void *ret; |
32 | #ifdef CONFIG_NOT_COHERENT_CACHE | 33 | #ifdef CONFIG_NOT_COHERENT_CACHE |
@@ -54,7 +55,8 @@ void *dma_direct_alloc_coherent(struct device *dev, size_t size, | |||
54 | } | 55 | } |
55 | 56 | ||
56 | void dma_direct_free_coherent(struct device *dev, size_t size, | 57 | void dma_direct_free_coherent(struct device *dev, size_t size, |
57 | void *vaddr, dma_addr_t dma_handle) | 58 | void *vaddr, dma_addr_t dma_handle, |
59 | struct dma_attrs *attrs) | ||
58 | { | 60 | { |
59 | #ifdef CONFIG_NOT_COHERENT_CACHE | 61 | #ifdef CONFIG_NOT_COHERENT_CACHE |
60 | __dma_free_coherent(size, vaddr); | 62 | __dma_free_coherent(size, vaddr); |
@@ -150,8 +152,8 @@ static inline void dma_direct_sync_single(struct device *dev, | |||
150 | #endif | 152 | #endif |
151 | 153 | ||
152 | struct dma_map_ops dma_direct_ops = { | 154 | struct dma_map_ops dma_direct_ops = { |
153 | .alloc_coherent = dma_direct_alloc_coherent, | 155 | .alloc = dma_direct_alloc_coherent, |
154 | .free_coherent = dma_direct_free_coherent, | 156 | .free = dma_direct_free_coherent, |
155 | .map_sg = dma_direct_map_sg, | 157 | .map_sg = dma_direct_map_sg, |
156 | .unmap_sg = dma_direct_unmap_sg, | 158 | .unmap_sg = dma_direct_unmap_sg, |
157 | .dma_supported = dma_direct_dma_supported, | 159 | .dma_supported = dma_direct_dma_supported, |
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index cfe7a38708c3..18bdf74fa164 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c | |||
@@ -40,6 +40,8 @@ | |||
40 | #include <asm/prom.h> | 40 | #include <asm/prom.h> |
41 | #include <asm/rtas.h> | 41 | #include <asm/rtas.h> |
42 | #include <asm/fadump.h> | 42 | #include <asm/fadump.h> |
43 | #include <asm/debug.h> | ||
44 | #include <asm/setup.h> | ||
43 | 45 | ||
44 | static struct fw_dump fw_dump; | 46 | static struct fw_dump fw_dump; |
45 | static struct fadump_mem_struct fdm; | 47 | static struct fadump_mem_struct fdm; |
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index 79bb282e6501..b01d14eeca8d 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
@@ -65,7 +65,8 @@ static struct of_device_id __initdata ibmebus_matches[] = { | |||
65 | static void *ibmebus_alloc_coherent(struct device *dev, | 65 | static void *ibmebus_alloc_coherent(struct device *dev, |
66 | size_t size, | 66 | size_t size, |
67 | dma_addr_t *dma_handle, | 67 | dma_addr_t *dma_handle, |
68 | gfp_t flag) | 68 | gfp_t flag, |
69 | struct dma_attrs *attrs) | ||
69 | { | 70 | { |
70 | void *mem; | 71 | void *mem; |
71 | 72 | ||
@@ -77,7 +78,8 @@ static void *ibmebus_alloc_coherent(struct device *dev, | |||
77 | 78 | ||
78 | static void ibmebus_free_coherent(struct device *dev, | 79 | static void ibmebus_free_coherent(struct device *dev, |
79 | size_t size, void *vaddr, | 80 | size_t size, void *vaddr, |
80 | dma_addr_t dma_handle) | 81 | dma_addr_t dma_handle, |
82 | struct dma_attrs *attrs) | ||
81 | { | 83 | { |
82 | kfree(vaddr); | 84 | kfree(vaddr); |
83 | } | 85 | } |
@@ -136,8 +138,8 @@ static u64 ibmebus_dma_get_required_mask(struct device *dev) | |||
136 | } | 138 | } |
137 | 139 | ||
138 | static struct dma_map_ops ibmebus_dma_ops = { | 140 | static struct dma_map_ops ibmebus_dma_ops = { |
139 | .alloc_coherent = ibmebus_alloc_coherent, | 141 | .alloc = ibmebus_alloc_coherent, |
140 | .free_coherent = ibmebus_free_coherent, | 142 | .free = ibmebus_free_coherent, |
141 | .map_sg = ibmebus_map_sg, | 143 | .map_sg = ibmebus_map_sg, |
142 | .unmap_sg = ibmebus_unmap_sg, | 144 | .unmap_sg = ibmebus_unmap_sg, |
143 | .dma_supported = ibmebus_dma_supported, | 145 | .dma_supported = ibmebus_dma_supported, |
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c index 76a6e40a6f7c..782bd0a3c2f0 100644 --- a/arch/powerpc/kernel/kgdb.c +++ b/arch/powerpc/kernel/kgdb.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <asm/current.h> | 24 | #include <asm/current.h> |
25 | #include <asm/processor.h> | 25 | #include <asm/processor.h> |
26 | #include <asm/machdep.h> | 26 | #include <asm/machdep.h> |
27 | #include <asm/debug.h> | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * This table contains the mapping between PowerPC hardware trap types, and | 30 | * This table contains the mapping between PowerPC hardware trap types, and |
diff --git a/arch/powerpc/kernel/vio.c b/arch/powerpc/kernel/vio.c index b2f7c8480bf6..a3a99901c8ec 100644 --- a/arch/powerpc/kernel/vio.c +++ b/arch/powerpc/kernel/vio.c | |||
@@ -482,7 +482,8 @@ static void vio_cmo_balance(struct work_struct *work) | |||
482 | } | 482 | } |
483 | 483 | ||
484 | static void *vio_dma_iommu_alloc_coherent(struct device *dev, size_t size, | 484 | static void *vio_dma_iommu_alloc_coherent(struct device *dev, size_t size, |
485 | dma_addr_t *dma_handle, gfp_t flag) | 485 | dma_addr_t *dma_handle, gfp_t flag, |
486 | struct dma_attrs *attrs) | ||
486 | { | 487 | { |
487 | struct vio_dev *viodev = to_vio_dev(dev); | 488 | struct vio_dev *viodev = to_vio_dev(dev); |
488 | void *ret; | 489 | void *ret; |
@@ -492,7 +493,7 @@ static void *vio_dma_iommu_alloc_coherent(struct device *dev, size_t size, | |||
492 | return NULL; | 493 | return NULL; |
493 | } | 494 | } |
494 | 495 | ||
495 | ret = dma_iommu_ops.alloc_coherent(dev, size, dma_handle, flag); | 496 | ret = dma_iommu_ops.alloc(dev, size, dma_handle, flag, attrs); |
496 | if (unlikely(ret == NULL)) { | 497 | if (unlikely(ret == NULL)) { |
497 | vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); | 498 | vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); |
498 | atomic_inc(&viodev->cmo.allocs_failed); | 499 | atomic_inc(&viodev->cmo.allocs_failed); |
@@ -502,11 +503,12 @@ static void *vio_dma_iommu_alloc_coherent(struct device *dev, size_t size, | |||
502 | } | 503 | } |
503 | 504 | ||
504 | static void vio_dma_iommu_free_coherent(struct device *dev, size_t size, | 505 | static void vio_dma_iommu_free_coherent(struct device *dev, size_t size, |
505 | void *vaddr, dma_addr_t dma_handle) | 506 | void *vaddr, dma_addr_t dma_handle, |
507 | struct dma_attrs *attrs) | ||
506 | { | 508 | { |
507 | struct vio_dev *viodev = to_vio_dev(dev); | 509 | struct vio_dev *viodev = to_vio_dev(dev); |
508 | 510 | ||
509 | dma_iommu_ops.free_coherent(dev, size, vaddr, dma_handle); | 511 | dma_iommu_ops.free(dev, size, vaddr, dma_handle, attrs); |
510 | 512 | ||
511 | vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); | 513 | vio_cmo_dealloc(viodev, roundup(size, PAGE_SIZE)); |
512 | } | 514 | } |
@@ -607,8 +609,8 @@ static u64 vio_dma_get_required_mask(struct device *dev) | |||
607 | } | 609 | } |
608 | 610 | ||
609 | struct dma_map_ops vio_dma_mapping_ops = { | 611 | struct dma_map_ops vio_dma_mapping_ops = { |
610 | .alloc_coherent = vio_dma_iommu_alloc_coherent, | 612 | .alloc = vio_dma_iommu_alloc_coherent, |
611 | .free_coherent = vio_dma_iommu_free_coherent, | 613 | .free = vio_dma_iommu_free_coherent, |
612 | .map_sg = vio_dma_iommu_map_sg, | 614 | .map_sg = vio_dma_iommu_map_sg, |
613 | .unmap_sg = vio_dma_iommu_unmap_sg, | 615 | .unmap_sg = vio_dma_iommu_unmap_sg, |
614 | .map_page = vio_dma_iommu_map_page, | 616 | .map_page = vio_dma_iommu_map_page, |