diff options
Diffstat (limited to 'arch/sparc64/kernel/iommu.c')
| -rw-r--r-- | arch/sparc64/kernel/iommu.c | 7 | 
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/iommu.c b/arch/sparc64/kernel/iommu.c index 29af777d7ac9..070a4846c0cb 100644 --- a/arch/sparc64/kernel/iommu.c +++ b/arch/sparc64/kernel/iommu.c  | |||
| @@ -472,8 +472,7 @@ static void dma_4u_unmap_single(struct device *dev, dma_addr_t bus_addr, | |||
| 472 | spin_unlock_irqrestore(&iommu->lock, flags); | 472 | spin_unlock_irqrestore(&iommu->lock, flags); | 
| 473 | } | 473 | } | 
| 474 | 474 | ||
| 475 | #define SG_ENT_PHYS_ADDRESS(SG) \ | 475 | #define SG_ENT_PHYS_ADDRESS(SG) (__pa(sg_virt((SG)))) | 
| 476 | (__pa(page_address((SG)->page)) + (SG)->offset) | ||
| 477 | 476 | ||
| 478 | static void fill_sg(iopte_t *iopte, struct scatterlist *sg, | 477 | static void fill_sg(iopte_t *iopte, struct scatterlist *sg, | 
| 479 | int nused, int nelems, | 478 | int nused, int nelems, | 
| @@ -565,9 +564,7 @@ static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist, | |||
| 565 | /* Fast path single entry scatterlists. */ | 564 | /* Fast path single entry scatterlists. */ | 
| 566 | if (nelems == 1) { | 565 | if (nelems == 1) { | 
| 567 | sglist->dma_address = | 566 | sglist->dma_address = | 
| 568 | dma_4u_map_single(dev, | 567 | dma_4u_map_single(dev, sg_virt(sglist), | 
| 569 | (page_address(sglist->page) + | ||
| 570 | sglist->offset), | ||
| 571 | sglist->length, direction); | 568 | sglist->length, direction); | 
| 572 | if (unlikely(sglist->dma_address == DMA_ERROR_CODE)) | 569 | if (unlikely(sglist->dma_address == DMA_ERROR_CODE)) | 
| 573 | return 0; | 570 | return 0; | 
