From: Sam Protsenko <semen.protsenko@linaro.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Janghyuck Kim <janghyuck.kim@samsung.com>,
linux-samsung-soc@vger.kernel.org, Will Deacon <will@kernel.org>,
iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
iommu@lists.linux-foundation.org,
Cho KyongHo <pullip.cho@samsung.com>,
Robin Murphy <robin.murphy@arm.com>,
Sumit Semwal <sumit.semwal@linaro.org>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] iommu/exynos: Add basic support for SysMMU v7
Date: Sun, 3 Jul 2022 00:37:20 +0300 [thread overview]
Message-ID: <20220702213724.3949-1-semen.protsenko@linaro.org> (raw)
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
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Sam Protsenko <semen.protsenko@linaro.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Janghyuck Kim <janghyuck.kim@samsung.com>,
Cho KyongHo <pullip.cho@samsung.com>,
Daniel Mentz <danielmentz@google.com>,
Sumit Semwal <sumit.semwal@linaro.org>,
iommu@lists.linux-foundation.org, iommu@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/4] iommu/exynos: Add basic support for SysMMU v7
Date: Sun, 3 Jul 2022 00:37:20 +0300 [thread overview]
Message-ID: <20220702213724.3949-1-semen.protsenko@linaro.org> (raw)
Message-ID: <20220702213720.-TJvwn9D8Q-WUthRVaIR0hfLBF8I5DZr3V6MTvf_Qeo@z> (raw)
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
next reply other threads:[~2022-07-02 21:37 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-02 21:37 Sam Protsenko [this message]
2022-07-02 21:37 ` [PATCH 0/4] iommu/exynos: Add basic support for SysMMU v7 Sam Protsenko
2022-07-02 21:37 ` [PATCH 1/4] iommu/exynos: Set correct dma mask for SysMMU v5+ Sam Protsenko
2022-07-02 21:37 ` Sam Protsenko
2022-07-03 18:50 ` Krzysztof Kozlowski
2022-07-03 18:50 ` Krzysztof Kozlowski
2022-07-08 13:18 ` Sam Protsenko
2022-07-11 12:27 ` Krzysztof Kozlowski
2022-07-11 12:59 ` Robin Murphy
2022-07-02 21:37 ` [PATCH 2/4] iommu/exynos: Check if SysMMU v7 has VM registers Sam Protsenko
2022-07-02 21:37 ` Sam Protsenko
2022-07-03 19:10 ` Krzysztof Kozlowski
2022-07-03 19:10 ` Krzysztof Kozlowski
2022-07-08 13:34 ` Sam Protsenko
2022-07-02 21:37 ` [PATCH 3/4] iommu/exynos: Use lookup based approach to access v7 registers Sam Protsenko
2022-07-02 21:37 ` Sam Protsenko
2022-07-03 19:29 ` Krzysztof Kozlowski
2022-07-03 19:29 ` Krzysztof Kozlowski
2022-07-08 18:13 ` Sam Protsenko
2022-07-02 21:37 ` [PATCH 4/4] iommu/exynos: Add minimal support for SysMMU v7 with VM registers Sam Protsenko
2022-07-02 21:37 ` Sam Protsenko
2022-07-02 21:48 ` [PATCH 0/4] iommu/exynos: Add basic support for SysMMU v7 Sam Protsenko
2022-07-02 21:48 ` Sam Protsenko
2022-07-03 12:47 ` David Virag
2022-07-03 12:47 ` David Virag
2022-07-06 14:24 ` Sam Protsenko
2022-07-06 14:24 ` Sam Protsenko
2022-07-10 23:04 ` Sam Protsenko
2022-07-13 14:14 ` Sam Protsenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220702213724.3949-1-semen.protsenko@linaro.org \
--to=semen.protsenko@linaro.org \
--cc=iommu@lists.linux-foundation.org \
--cc=iommu@lists.linux.dev \
--cc=janghyuck.kim@samsung.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=pullip.cho@samsung.com \
--cc=robin.murphy@arm.com \
--cc=sumit.semwal@linaro.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox