On Tue, Aug 07, 2018 at 05:10:15PM -0700, Ray Jui wrote: > Hi Lorenzo/Bjorn, > > I have a question on PCIe controller APCI support on ARM64 based systems. > > If my understanding of the implementation of "pci_acpi_scan_root" under > "arch/arm64/kernel/pci.c" is correct, it appears > "pci_acpi_setup_ecam_mapping" is called within "pci_acpi_scan_root". > > Does that mean for a PCIe host controller on ARM64 to support ACPI, it needs > to support ECAM and MMIO based access to the configuration space registers? > > If the above statement is true, does it imply that any PCIe controller on > ARM64 that does not support MMIO based access to the config space register > cannot have ACPI support? Yes and it is not just MMIO, config space must be ECAM compliant as described in the PCI firmware specification and enforced here: http://infocenter.arm.com/help/topic/com.arm.doc.den0029b/Server_Base_System_Architecture_v5_0_ARM_DEN_0029B.pdf In short: what's in the mainline (+ adequate PCI controller firmware configuration) must be sufficient to bootstrap your PCI subsystem in ACPI, it is a very simple litmus test and we won't add anything that deviates from that to the mainline kernel ARM64 ACPI PCI code support. Thanks, Lorenzo