aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/iommu.c')
-rw-r--r--arch/powerpc/kernel/iommu.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
index 0c663669bc3..8c68ee9e5d1 100644
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
@@ -267,11 +267,11 @@ static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
267 spin_unlock_irqrestore(&(tbl->it_lock), flags); 267 spin_unlock_irqrestore(&(tbl->it_lock), flags);
268} 268}
269 269
270int iommu_map_sg(struct device *dev, struct scatterlist *sglist, 270int iommu_map_sg(struct device *dev, struct iommu_table *tbl,
271 int nelems, unsigned long mask, 271 struct scatterlist *sglist, int nelems,
272 enum dma_data_direction direction) 272 unsigned long mask, enum dma_data_direction direction,
273 struct dma_attrs *attrs)
273{ 274{
274 struct iommu_table *tbl = dev->archdata.dma_data;
275 dma_addr_t dma_next = 0, dma_addr; 275 dma_addr_t dma_next = 0, dma_addr;
276 unsigned long flags; 276 unsigned long flags;
277 struct scatterlist *s, *outs, *segstart; 277 struct scatterlist *s, *outs, *segstart;
@@ -412,7 +412,8 @@ int iommu_map_sg(struct device *dev, struct scatterlist *sglist,
412 412
413 413
414void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, 414void iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist,
415 int nelems, enum dma_data_direction direction) 415 int nelems, enum dma_data_direction direction,
416 struct dma_attrs *attrs)
416{ 417{
417 struct scatterlist *sg; 418 struct scatterlist *sg;
418 unsigned long flags; 419 unsigned long flags;
@@ -554,7 +555,7 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
554 */ 555 */
555dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl, 556dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl,
556 void *vaddr, size_t size, unsigned long mask, 557 void *vaddr, size_t size, unsigned long mask,
557 enum dma_data_direction direction) 558 enum dma_data_direction direction, struct dma_attrs *attrs)
558{ 559{
559 dma_addr_t dma_handle = DMA_ERROR_CODE; 560 dma_addr_t dma_handle = DMA_ERROR_CODE;
560 unsigned long uaddr; 561 unsigned long uaddr;
@@ -587,7 +588,8 @@ dma_addr_t iommu_map_single(struct device *dev, struct iommu_table *tbl,
587} 588}
588 589
589void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle, 590void iommu_unmap_single(struct iommu_table *tbl, dma_addr_t dma_handle,
590 size_t size, enum dma_data_direction direction) 591 size_t size, enum dma_data_direction direction,
592 struct dma_attrs *attrs)
591{ 593{
592 unsigned int npages; 594 unsigned int npages;
593 595