iommu/exynos: Fix L2TLB invalidation
authorCho KyongHo <pullip.cho@samsung.com>
Mon, 12 May 2014 06:14:49 +0000 (11:44 +0530)
committerJoerg Roedel <jroedel@suse.de>
Tue, 13 May 2014 17:12:52 +0000 (19:12 +0200)
commit3ad6b7f3a41ba6bf4503be442802072ca9dc8336
tree9b6da104965f8c0ae7dc01f00d1ddb42141c7e02
parent734c3c732ca91adbe705f2a289509627810231a3
iommu/exynos: Fix L2TLB invalidation

L2TLB is 8-way set-associative TLB with 512 entries. The number of
sets is 64.
A single 4KB(small page) translation information is cached
only to a set whose index is the same with the lower 6 bits of the page
frame number.
A single 64KB(large page) translation information can be
cached to any 16 sets whose top two bits of their indices are the same
with the bit [5:4] of the page frame number.
A single 1MB(section) or larger translation information can be cached to
any set in the TLB.

It is required to invalidate entire sets that may cache the target
translation information to guarantee that the L2TLB has no stale data.

Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/exynos-iommu.c