[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200911071643.17212-3-nicoleotsuka@gmail.com>
Date: Fri, 11 Sep 2020 00:16:42 -0700
From: Nicolin Chen <nicoleotsuka@...il.com>
To: joro@...tes.org, thierry.reding@...il.com
Cc: linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
linux-tegra@...r.kernel.org, jonathanh@...dia.com,
vdumpa@...dia.com
Subject: [PATCH 2/3] iommu/tegra-smmu: Fix iova->phys translation
IOVA might not be always 4KB aligned. So tegra_smmu_iova_to_phys
function needs to add on the lower 12-bit offset from input iova.
Signed-off-by: Nicolin Chen <nicoleotsuka@...il.com>
---
drivers/iommu/tegra-smmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index 789d21c01b77..50b962b0647e 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -795,7 +795,7 @@ static phys_addr_t tegra_smmu_iova_to_phys(struct iommu_domain *domain,
pfn = *pte & as->smmu->pfn_mask;
- return SMMU_PFN_PHYS(pfn);
+ return SMMU_PFN_PHYS(pfn) + SMMU_OFFSET_IN_PAGE(iova);
}
static struct tegra_smmu *tegra_smmu_find(struct device_node *np)
--
2.17.1
Powered by blists - more mailing lists