[PATCH v6 0/3] RISC-V: Add ACPI support for IOMMU

Sunil V L
2025-08-18T07:51:22Z

This series adds support for RISC-V IOMMU on ACPI based platforms.
RISC-V IO Mapping Table (RIMT) is a new static ACPI table [1] introduced
to communicate IOMMU information to the OS.

[1] - https://github.com/riscv-non-isa/riscv-acpi-rimt/releases/download/v1.0/rimt-spec.pdf

Changes since v5:
1) Rebased to 6.17-rc2
2) Fixed incorrect id_out assignment (Reported by Xianliang)

Changes since v4:
1) Rebased to 6.16-rc6
2) Addressed Anup's feedback on formatting.
3) Added RB tag from Will and Anup.

Changes since v3:
1) Rebased to 6.16-rc5
2) Addressed Drew's feedback on v3.
a) Reordered calling rimt_iommu_configure_id().
b) Removed unnecessary inline.
c) Added pr_fmt.
d) Removed redundant rimt_iommu_configure_id() stub.
3) Added Drew's RB tag in PATCH 3.

Changes since v2:
1) Rebased to 6.16-rc4
2) Removed Anup's SOB and link tags added by mistake in v2.

Changes since v1:
1) Rebased to v6.16-rc1.
2) Dropped ACPICA patch since it is already available in 6.16-rc1.
3) Added Rafael's ACK.
4) Fixed few issues found by bots.

Sunil V L (3):
ACPI: RISC-V: Add support for RIMT
ACPI: scan: Add support for RISC-V in acpi_iommu_configure_id()
iommu/riscv: Add ACPI support

MAINTAINERS | 1 +
arch/riscv/Kconfig | 1 +
drivers/acpi/Kconfig | 4 +
drivers/acpi/riscv/Kconfig | 7 +
drivers/acpi/riscv/Makefile | 1 +
drivers/acpi/riscv/init.c | 2 +
drivers/acpi/riscv/init.h | 1 +
drivers/acpi/riscv/rimt.c | 520 +++++++++++++++++++++++++++
drivers/acpi/scan.c | 4 +
drivers/iommu/riscv/iommu-platform.c | 17 +-
drivers/iommu/riscv/iommu.c | 10 +
include/linux/acpi_rimt.h | 28 ++
12 files changed, 595 insertions(+), 1 deletion(-)
create mode 100644 drivers/acpi/riscv/Kconfig
create mode 100644 drivers/acpi/riscv/rimt.c
create mode 100644 include/linux/acpi_rimt.h