On Tue, Oct 27, 2015 at 05:38:31PM +0100, Tomasz Nowicki wrote: > From the functionality point of view this series might be split into two logic parts: > 1. Making MMCONFIG code arch-agnostic which allows all architectures to collect > PCI config regions and used when necessary. > 2. Using generic MMCONFIG code and introducing ACPI based PCI hostbridge > initialization for ARM64 > > Patches has been built on top of: > [Patch v7 0/7] Consolidate ACPI PCI root common code into ACPI core > https://lkml.org/lkml/2015/10/14/31 > Git branch can be found here: > https://git.linaro.org/leg/acpi/acpi.git/shortlog/refs/heads/pci-acpi-upstream > > This has been tested on Cavium ThunderX 1 socket server. > Any help in reviewing and testing is very appreciated. > > Hanjun Guo (1): > XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y > > Tomasz Nowicki (10): > x86, pci: Reorder logic of pci_mmconfig_insert() function > x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code > out of arch/x86/ directory > pci, acpi, mcfg: Provide generic implementation of MCFG code > initialization. > x86, pci: mmconfig_{32,64}.c code refactoring - remove code > duplication. > x86, pci, ecam: mmconfig_64.c becomes default implementation for ECAM > driver. > pci, acpi, mcfg: Provide default RAW ACPI PCI config space accessors. > pci, acpi, ecam: Add flag to indicate whether ECAM region was hot > added or not. > x86, pci: Use previously added ECAM hot_added flag to remove ECAM > regions. > pci, acpi: Provide generic way to assign bus domain number. > arm64, pci, acpi: Support for ACPI based PCI hostbridge init > > arch/arm64/Kconfig | 6 + > arch/arm64/kernel/pci.c | 208 ++++++++++++++++++++++++++++++++-- > arch/x86/Kconfig | 4 + > arch/x86/include/asm/pci_x86.h | 28 +---- > arch/x86/pci/acpi.c | 17 +-- > arch/x86/pci/mmconfig-shared.c | 250 +++++++---------------------------------- > arch/x86/pci/mmconfig_32.c | 11 +- > arch/x86/pci/mmconfig_64.c | 67 +---------- > arch/x86/pci/numachip.c | 1 + > drivers/acpi/Makefile | 1 + > drivers/acpi/mcfg.c | 104 +++++++++++++++++ > drivers/acpi/pci_root.c | 2 +- > drivers/pci/Kconfig | 10 ++ > drivers/pci/Makefile | 5 + > drivers/pci/ecam.c | 234 ++++++++++++++++++++++++++++++++++++++ > drivers/pci/pci.c | 30 ++++- > drivers/xen/pci.c | 7 +- > include/linux/acpi.h | 2 + > include/linux/ecam.h | 44 ++++++++ > 19 files changed, 691 insertions(+), 340 deletions(-) > create mode 100644 drivers/acpi/mcfg.c > create mode 100644 drivers/pci/ecam.c > create mode 100644 include/linux/ecam.h Waiting for an updated version after all the discussion. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html