diff options
Diffstat (limited to 'arch/sparc/mm/io-unit.c')
-rw-r--r-- | arch/sparc/mm/io-unit.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/arch/sparc/mm/io-unit.c b/arch/sparc/mm/io-unit.c index 6b469820fb92..0f97ab30df3f 100644 --- a/arch/sparc/mm/io-unit.c +++ b/arch/sparc/mm/io-unit.c | |||
@@ -186,12 +186,12 @@ static void iounit_release_scsi_sgl(struct device *dev, struct scatterlist *sg, | |||
186 | } | 186 | } |
187 | 187 | ||
188 | #ifdef CONFIG_SBUS | 188 | #ifdef CONFIG_SBUS |
189 | static int iounit_map_dma_area(dma_addr_t *pba, unsigned long va, __u32 addr, int len) | 189 | static int iounit_map_dma_area(struct device *dev, dma_addr_t *pba, unsigned long va, __u32 addr, int len) |
190 | { | 190 | { |
191 | struct iounit_struct *iounit = dev->archdata.iommu; | ||
191 | unsigned long page, end; | 192 | unsigned long page, end; |
192 | pgprot_t dvma_prot; | 193 | pgprot_t dvma_prot; |
193 | iopte_t *iopte; | 194 | iopte_t *iopte; |
194 | struct sbus_bus *sbus; | ||
195 | 195 | ||
196 | *pba = addr; | 196 | *pba = addr; |
197 | 197 | ||
@@ -213,12 +213,8 @@ static int iounit_map_dma_area(dma_addr_t *pba, unsigned long va, __u32 addr, in | |||
213 | 213 | ||
214 | i = ((addr - IOUNIT_DMA_BASE) >> PAGE_SHIFT); | 214 | i = ((addr - IOUNIT_DMA_BASE) >> PAGE_SHIFT); |
215 | 215 | ||
216 | for_each_sbus(sbus) { | 216 | iopte = (iopte_t *)(iounit->page_table + i); |
217 | struct iounit_struct *iounit = sbus->ofdev.dev.archdata.iommu; | 217 | *iopte = MKIOPTE(__pa(page)); |
218 | |||
219 | iopte = (iopte_t *)(iounit->page_table + i); | ||
220 | *iopte = MKIOPTE(__pa(page)); | ||
221 | } | ||
222 | } | 218 | } |
223 | addr += PAGE_SIZE; | 219 | addr += PAGE_SIZE; |
224 | va += PAGE_SIZE; | 220 | va += PAGE_SIZE; |
@@ -229,7 +225,7 @@ static int iounit_map_dma_area(dma_addr_t *pba, unsigned long va, __u32 addr, in | |||
229 | return 0; | 225 | return 0; |
230 | } | 226 | } |
231 | 227 | ||
232 | static void iounit_unmap_dma_area(unsigned long addr, int len) | 228 | static void iounit_unmap_dma_area(struct device *dev, unsigned long addr, int len) |
233 | { | 229 | { |
234 | /* XXX Somebody please fill this in */ | 230 | /* XXX Somebody please fill this in */ |
235 | } | 231 | } |