[PATCH 11/12] VT-d: adapt domain iova_to_phys function for IOMMU API

From: Joerg Roedel
Date: Tue Dec 02 2008 - 08:03:41 EST


Signed-off-by: Joerg Roedel <joerg.roedel@xxxxxxx>
---
drivers/pci/intel-iommu.c | 15 ++++++++-------
include/linux/intel-iommu.h | 2 --
2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index ac22973..2e8b102 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -2913,18 +2913,19 @@ int intel_iommu_found(void)
}
EXPORT_SYMBOL_GPL(intel_iommu_found);

-u64 intel_iommu_iova_to_pfn(struct dmar_domain *domain, u64 iova)
+static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
+ unsigned long iova)
{
+ struct dmar_domain *dmar_domain = domain->priv;
struct dma_pte *pte;
- u64 pfn;
+ phys_addr_t paddr;

- pfn = 0;
- pte = addr_to_dma_pte(domain, iova);
+ paddr = 0;
+ pte = addr_to_dma_pte(dmar_domain, iova);

if (pte)
- pfn = dma_pte_addr(*pte);
+ paddr = dma_pte_addr(*pte);

- return pfn >> VTD_PAGE_SHIFT;
+ return paddr;
}
-EXPORT_SYMBOL_GPL(intel_iommu_iova_to_pfn);

diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index ac79a1c..469508f 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -337,8 +337,6 @@ extern int qi_flush_iotlb(struct intel_iommu *iommu, u16 did, u64 addr,

extern void qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu);

-u64 intel_iommu_iova_to_pfn(struct dmar_domain *domain, u64 iova);
-
#ifdef CONFIG_DMAR
int intel_iommu_found(void);
#else /* CONFIG_DMAR */
--
1.5.6.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/