Thread (59 messages) 59 messages, 17 authors, 2015-12-16

[PATCH V1 00/11] MMCONFIG refactoring and ARM64 PCI hostbridge init based on ACPI

From: Suravee.Suthikulpanit@amd.com (Suravee Suthikulpanit)
Date: 2015-10-30 16:39:08
Also in: linux-acpi, linux-pci, lkml

Tested on AMD Seattle platform (Overdrive revB) w/ both MSI and legacy 
interrupt.

Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>

Thanks,
Suravee

On 10/27/15 11:38, 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help