[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