Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb5547ac authored by Varun Sethi's avatar Varun Sethi Committed by Joerg Roedel
Browse files

iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API.



This is required in case of PAMU, as it can support a window size of up
to 64G (even on 32bit).

Signed-off-by: default avatarVarun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
parent 07961ac7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3410,7 +3410,7 @@ static size_t amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova,
}
}


static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom,
static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom,
					  unsigned long iova)
					  dma_addr_t iova)
{
{
	struct protection_domain *domain = dom->priv;
	struct protection_domain *domain = dom->priv;
	unsigned long offset_mask;
	unsigned long offset_mask;
+1 −1
Original line number Original line Diff line number Diff line
@@ -1027,7 +1027,7 @@ static size_t exynos_iommu_unmap(struct iommu_domain *domain,
}
}


static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
static phys_addr_t exynos_iommu_iova_to_phys(struct iommu_domain *domain,
					  unsigned long iova)
					  dma_addr_t iova)
{
{
	struct exynos_iommu_domain *priv = domain->priv;
	struct exynos_iommu_domain *priv = domain->priv;
	unsigned long *entry;
	unsigned long *entry;
+1 −1
Original line number Original line Diff line number Diff line
@@ -4111,7 +4111,7 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain,
}
}


static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
					    unsigned long iova)
					    dma_addr_t iova)
{
{
	struct dmar_domain *dmar_domain = domain->priv;
	struct dmar_domain *dmar_domain = domain->priv;
	struct dma_pte *pte;
	struct dma_pte *pte;
+1 −2
Original line number Original line Diff line number Diff line
@@ -706,8 +706,7 @@ void iommu_detach_group(struct iommu_domain *domain, struct iommu_group *group)
}
}
EXPORT_SYMBOL_GPL(iommu_detach_group);
EXPORT_SYMBOL_GPL(iommu_detach_group);


phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain,
phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova)
			       unsigned long iova)
{
{
	if (unlikely(domain->ops->iova_to_phys == NULL))
	if (unlikely(domain->ops->iova_to_phys == NULL))
		return 0;
		return 0;
+1 −1
Original line number Original line Diff line number Diff line
@@ -554,7 +554,7 @@ static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long va,
}
}


static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain,
static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain,
					  unsigned long va)
					  dma_addr_t va)
{
{
	struct msm_priv *priv;
	struct msm_priv *priv;
	struct msm_iommu_drvdata *iommu_drvdata;
	struct msm_iommu_drvdata *iommu_drvdata;
Loading