[PATCH 09/31] ia64/pci_dma: handle page-less SG entries

Christoph Hellwig
2015-08-12T07:05:28Z

Use sg_phys() instead of virt_to_phys(sg_virt(sg)) so that we don't
require a kernel virtual address.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
arch/ia64/sn/pci/pci_dma.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/ia64/sn/pci/pci_dma.c b/arch/ia64/sn/pci/pci_dma.c
index d0853e8..8f713c8 100644
--- a/arch/ia64/sn/pci/pci_dma.c
+++ b/arch/ia64/sn/pci/pci_dma.c
@@ -18,9 +18,6 @@
#include <asm/sn/pcidev.h>
#include <asm/sn/sn_sal.h>

-#define SG_ENT_VIRT_ADDRESS(sg) (sg_virt((sg)))
-#define SG_ENT_PHYS_ADDRESS(SG) virt_to_phys(SG_ENT_VIRT_ADDRESS(SG))
-
/**
* sn_dma_supported - test a DMA mask
* @dev: device to test
@@ -291,7 +288,7 @@ static int sn_dma_map_sg(struct device *dev, struct scatterlist *sgl,
*/
for_each_sg(sgl, sg, nhwentries, i) {
dma_addr_t dma_addr;
- phys_addr = SG_ENT_PHYS_ADDRESS(sg);
+ phys_addr = sg_phys(sg);
if (dmabarr)
dma_addr = provider->dma_map_consistent(pdev,
phys_addr,
--
1.9.1