Skip to content
Commit e1d387ee authored by Ashish Mhetre's avatar Ashish Mhetre Committed by Greg Kroah-Hartman
Browse files

iommu: arm-smmu: disable large page mappings for Nvidia arm-smmu

[ Upstream commit 4a25f2ea

 ]

Tegra194 and Tegra234 SoCs have the erratum that causes walk cache
entries to not be invalidated correctly. The problem is that the walk
cache index generated for IOVA is not same across translation and
invalidation requests. This is leading to page faults when PMD entry is
released during unmap and populated with new PTE table during subsequent
map request. Disabling large page mappings avoids the release of PMD
entry and avoid translations seeing stale PMD entry in walk cache.
Fix this by limiting the page mappings to PAGE_SIZE for Tegra194 and
Tegra234 devices. This is recommended fix from Tegra hardware design
team.

Acked-by: default avatarRobin Murphy <robin.murphy@arm.com>
Reviewed-by: default avatarKrishna Reddy <vdumpa@nvidia.com>
Co-developed-by: default avatarPritesh Raithatha <praithatha@nvidia.com>
Signed-off-by: default avatarPritesh Raithatha <praithatha@nvidia.com>
Signed-off-by: default avatarAshish Mhetre <amhetre@nvidia.com>
Link: https://lore.kernel.org/r/20220421081504.24678-1-amhetre@nvidia.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 2f6b75c0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment