[PATCH 00/11] ARM64 PCI hostbridge init based on ACPI
Bjorn Helgaas
helgaas at kernel.org
Mon Dec 7 12:29:42 PST 2015
On Tue, May 26, 2015 at 08:49:13PM +0800, Hanjun Guo wrote:
> This patch set is introducing ARM64 PCI hostbridge init based on ACPI,
> which based on Jiang Liu's patch set "Consolidate ACPI PCI root common
> code into ACPI core":
>
> https://lkml.org/lkml/2015/5/14/98
>
> This patch set including three parts:
>
> - the first part is PATCH 1, which should be merged into Jiang Liu's
> patch set to fix the compile error on ARM64 when ACPI enabled.
>
> - the senconed part is the refactoring of mmconfig to let that mechanism
> can be used for ARM64 too, it's Tomasz's work but he is moving to other
> work and pretty busy for now, so I will take care of those patches,
> Tomasz will show up when some comments need to be addressed :)
>
> In this version of mmconfig refactor patches, I removed the rename
> of mmconfig -> ecam patch, because mmconfig is in multi places, and need
> much more effort to convert them all to ecam, Bjorn, if you don't
> like it, I can add them back.
>
> - The third part is about the ARM64 PCI hostbridge init based on ACPI,
> first I fixed a compile error for XEN PCI on ARM64 when PCI_MMCONFIG=y,
> and then introduce PCI init based on Jiang Liu and Tomasz's patch set.
>
> patch for ARM64 ACPI PCI still reserve the bus sysdata to get the domain
> number, because Yijing's patch set is still under review, will be removed
> when Yijing's patch set hits upstream.
>
> This patch set was tested by Suravee on Seattle board with legacy interrupt
> (not MSI), and it works, also tested on qemu by Graeme.
>
> You can get the code from:
> git://git.linaro.org/leg/acpi/acpi.git, devel branch
>
> Comments are welcomed.
>
> Thanks
> Hanjun
>
>
> Hanjun Guo (3):
> ARM64 / PCI: introduce struct pci_controller for ACPI
> XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y
> ARM64 / PCI / ACPI: support for ACPI based PCI hostbridge init
>
> Tomasz Nowicki (8):
> x86, pci: Clean up comment about buggy MMIO config space access for
> AMD Fam10h CPUs.
> x86, pci: Abstract PCI config accessors and use AMD Fam10h workaround
> exclusively.
> 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: Share ACPI PCI config space accessors.
>
> arch/arm64/Kconfig | 7 +
> arch/arm64/include/asm/pci.h | 10 ++
> arch/arm64/kernel/pci.c | 245 ++++++++++++++++++++++++++--
> arch/x86/Kconfig | 4 +
> arch/x86/include/asm/pci_x86.h | 34 +---
> arch/x86/pci/Makefile | 4 +-
> arch/x86/pci/acpi.c | 1 +
> arch/x86/pci/mmconfig-shared.c | 301 +++++++++++-----------------------
> arch/x86/pci/mmconfig_32.c | 35 +---
> arch/x86/pci/mmconfig_64.c | 153 ------------------
> arch/x86/pci/numachip.c | 25 +--
> drivers/acpi/Makefile | 1 +
> drivers/acpi/mcfg.c | 103 ++++++++++++
> drivers/pci/Kconfig | 10 ++
> drivers/pci/Makefile | 5 +
> drivers/pci/ecam.c | 358 +++++++++++++++++++++++++++++++++++++++++
> drivers/pci/pci.c | 26 +--
> drivers/xen/pci.c | 7 +-
> include/linux/acpi.h | 2 +
> include/linux/ecam.h | 56 +++++++
> 20 files changed, 923 insertions(+), 464 deletions(-)
> delete mode 100644 arch/x86/pci/mmconfig_64.c
> create mode 100644 drivers/acpi/mcfg.c
> create mode 100644 drivers/pci/ecam.c
> create mode 100644 include/linux/ecam.h
There was a fair amount of unresolved discussion about this series,
so I'm going to wait for an update.
Bjorn
More information about the linux-arm-kernel
mailing list