[PATCH 0/4] iommu/exynos: Add basic support for SysMMU v7
Sam Protsenko
semen.protsenko at linaro.org
Sat Jul 2 14:48:41 PDT 2022
On Sun, 3 Jul 2022 at 00:37, Sam Protsenko <semen.protsenko at linaro.org> wrote:
>
> Existing exynos-iommu driver only supports SysMMU versions up to v5. But
> it's pretty much ready for basic usage with SysMMU v7, only small
> changes have to be done. As SysMMU version is tested dynamically (by
> reading the corresponding register), there is no need to introduce new
> compatible string.
>
> One major change is that SysMMU v7 can have different register layouts:
> - with Virtual Machine support
> - without Virtual Machine support
>
> That can be checked by reading the capability registers. In case the
> SysMMU IP-core is VM-capable, the VM registers have to be used, and some
> additional initialization is needed. That is the case on E850-96 board,
> which non-secure SysMMU (v7.4) implements VM-capable register set.
>
> The patch series was tested on E850-96 board. Because at the moment
> there are no SysMMU users for that board, the testing was done using so
> called "Emulated Translation" registers available on SysMMU v7. That
> allows one to initiate the translation from CPU, by writing to those
> registers, and then reading the corresponding TLB registers to find out
> the translation result. The testing driver can be found in [1] tree.
>
> [1] https://github.com/joe-skb7/linux/tree/e850-96-mainline-iommu
>
> Sam Protsenko (4):
> iommu/exynos: Set correct dma mask for SysMMU v5+
> iommu/exynos: Check if SysMMU v7 has VM registers
> iommu/exynos: Use lookup based approach to access v7 registers
> iommu/exynos: Add minimal support for SysMMU v7 with VM registers
>
> drivers/iommu/exynos-iommu.c | 112 ++++++++++++++++++++++++++++++++---
> 1 file changed, 104 insertions(+), 8 deletions(-)
>
> --
> 2.30.2
>
Hi Marek,
As I understand, you have some board with SysMMU v7, which is not VM
capable (judging from the patches you shared earlier). Could you
please somehow verify if this series works fine for you? For example,
this testing driver [1] can be helpful.
Thanks!
[1] https://github.com/joe-skb7/linux/commit/bbadd46fa525fe1fef2ccbdfff81f7d29caf0506
More information about the linux-arm-kernel
mailing list