diff options
| author | Markuss Broks <markuss.broks@gmail.com> | 2026-08-20 22:12:06 +0300 |
|---|---|---|
| committer | Joerg Roedel <joerg.roedel@amd.com> | 2026-09-24 13:18:02 +0200 |
| commit | 0c11e843972ece0aa190869114d0e84680813b51 (patch) | |
| tree | 6836b6a8d01f330968f34dc0343d65303ae732f3 /tools/perf/scripts/python/task-analyzer.py | |
| parent | edeebbfb6e7b3c28b61bda164702b1433701e3b7 (diff) | |
iommu/exynos: fix the enable sequence for no-block SysMMUs
__sysmmu_enable() writes CTRL_BLOCK before programming CFG, the page
table base and the VM registers. CTRL_BLOCK has the enable bit set,
so on hardware without BLOCK mode this write immediately starts
translation with whatever FLPT base the registers hold: reset values
on the first enable, a stale page table on re-enable. A master that
is already emitting traffic at that point gets its transactions
translated through that garbage.
Keep the MMU disabled while it is being programmed on such hardware;
the final CTRL_ENABLE write then brings it up with a consistent
configuration in one step, which is also the same as the vendor driver
sequence.
Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions
