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

Sunil V L posted 3 patches 2 months, 3 weeks ago
There is a newer version of this series
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
[PATCH v5 0/3] RISC-V: Add ACPI support for IOMMU
Posted by Sunil V L 2 months, 3 weeks ago
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 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

-- 
2.43.0
Re: [PATCH v5 0/3] RISC-V: Add ACPI support for IOMMU
Posted by Palmer Dabbelt 2 months, 3 weeks ago
On Wed, 16 Jul 2025 03:40:56 PDT (-0700), Sunil V L wrote:
> 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 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 ++

Thanks.  Anup came to the patchwork meeting this morning and asked me to 
pick it up.  It only barely touches arch/riscv stuff so I'd figured it 
was going somewhere else, but happy to do so.  I've picked it up into my 
staging tree as

    *   e5efe466d9bd - (HEAD -> for-next, palmer/for-next) Merge patch series "RISC-V: Add ACPI support for IOMMU" (2 minutes ago) <Palmer Dabbelt>
    |\
    | * 368ed89f7ac9 - iommu/riscv: Add ACPI support (2 minutes ago) <Sunil V L>
    | * 0d7c16d0df92 - ACPI: scan: Add support for RISC-V in acpi_iommu_configure_id() (2 minutes ago) <Sunil V L>
    | * ea35561bc965 - ACPI: RISC-V: Add support for RIMT (2 minutes ago) <Sunil V L>

it should show up on for-next assuming it builds and such (it's behind 
some fixes, so might take a bit).  Happy to do a tag if someone wants, 
just let me know...

>  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