diff options
Diffstat (limited to 'arch/powerpc/kernel/ibmebus.c')
-rw-r--r-- | arch/powerpc/kernel/ibmebus.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index 28581f1ad2c..73110fb6bb6 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
@@ -125,17 +125,23 @@ static void ibmebus_unmap_sg(struct device *dev, | |||
125 | 125 | ||
126 | static int ibmebus_dma_supported(struct device *dev, u64 mask) | 126 | static int ibmebus_dma_supported(struct device *dev, u64 mask) |
127 | { | 127 | { |
128 | return 1; | 128 | return mask == DMA_BIT_MASK(64); |
129 | } | ||
130 | |||
131 | static u64 ibmebus_dma_get_required_mask(struct device *dev) | ||
132 | { | ||
133 | return DMA_BIT_MASK(64); | ||
129 | } | 134 | } |
130 | 135 | ||
131 | static struct dma_map_ops ibmebus_dma_ops = { | 136 | static struct dma_map_ops ibmebus_dma_ops = { |
132 | .alloc_coherent = ibmebus_alloc_coherent, | 137 | .alloc_coherent = ibmebus_alloc_coherent, |
133 | .free_coherent = ibmebus_free_coherent, | 138 | .free_coherent = ibmebus_free_coherent, |
134 | .map_sg = ibmebus_map_sg, | 139 | .map_sg = ibmebus_map_sg, |
135 | .unmap_sg = ibmebus_unmap_sg, | 140 | .unmap_sg = ibmebus_unmap_sg, |
136 | .dma_supported = ibmebus_dma_supported, | 141 | .dma_supported = ibmebus_dma_supported, |
137 | .map_page = ibmebus_map_page, | 142 | .get_required_mask = ibmebus_dma_get_required_mask, |
138 | .unmap_page = ibmebus_unmap_page, | 143 | .map_page = ibmebus_map_page, |
144 | .unmap_page = ibmebus_unmap_page, | ||
139 | }; | 145 | }; |
140 | 146 | ||
141 | static int ibmebus_match_path(struct device *dev, void *data) | 147 | static int ibmebus_match_path(struct device *dev, void *data) |