iommu/exynos: Implement fault handling on SysMMU v7
authorSam Protsenko <semen.protsenko@linaro.org>
Tue, 26 Jul 2022 20:07:39 +0000 (23:07 +0300)
committerJoerg Roedel <jroedel@suse.de>
Wed, 25 Jan 2023 11:04:50 +0000 (12:04 +0100)
commit2f599c3ff4e6f89dfd27fe2f4e1a4c040ba5f92f
tree5a2694f15a3aa199c354a192da7e0c28d829c283
parentc64074bfe2abbe18a57eb19c95f686298e8692b5
iommu/exynos: Implement fault handling on SysMMU v7

SysMMU v7 has a bit different registers for getting the fault info:
  - there is one single register (MMU_FAULT_VA) to get the fault address
  - fault access type (R/W) can be read from MMU_FAULT_TRANS_INFO
    register now
  - interrupt status register has different bits w.r.t. previous SysMMU
    versions
  - VM and non-VM layouts have different register addresses

Add correct fault handling implementation for SysMMU v7, according to
all mentioned differences. Only VID #0 (default) is handled, as VM
domains support is not implemented yet.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20220726200739.30017-3-semen.protsenko@linaro.org
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/exynos-iommu.c