[PATCH v2] ACPI: RIMT: Enable PCI ACS for root complexes mapped to an IOMMU

Sunil V L sunilvl at oss.qualcomm.com
Tue Oct 13 21:12:25 PDT 2026


Hi Rafael,

On Thu, Sep 3, 2026 at 7:30 PM <fangyu.yu at linux.alibaba.com> wrote:
>
> From: Fangyu Yu <fangyu.yu at linux.alibaba.com>
>
> Mirror the ACPI IORT solution used on arm64 (see iort_enable_acs())
> by scanning the RIMT table for PCIe root complex nodes during
> riscv_acpi_rimt_init(), which runs before ACPI PCI enumeration. If a
> root complex node's ID mapping points at an IOMMU node, call
> pci_request_acs() immediately, so pci_acs_enable is already set by
> the time any PCI device is scanned and pci_enable_acs() runs.
>
> Only one call to pci_request_acs() is needed regardless of how many
> root complexes are found, so track that with a static acs_enabled
> flag, same as iort_enable_acs() does.
>
> Signed-off-by: Fangyu Yu <fangyu.yu at linux.alibaba.com>
> Reviewed-by: Sunil V L <sunilvl at oss.qualcomm.com>
>
> ---
> Changes in v2 (Suggested by Sunil):
>     - Check the RIMT node type in riscv_acpi_rimt_init() and invoke
>       rimt_enable_acs() only for PCIe root-complex nodes.
> ---
>  drivers/acpi/riscv/rimt.c | 58 +++++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>
Could you please take this patch via ACPI tree?

Thanks,
Sunil



More information about the linux-riscv mailing list