Messages in this thread | | | Subject | Re: [PATCH V8 0/9] Support for ARM64 ACPI based PCI host controller | From | Suravee Suthikulanit <> | Date | Thu, 9 Jun 2016 11:45:36 -0500 |
| |
On 5/30/2016 10:14 AM, Tomasz Nowicki wrote: > From the functionality point of view this series may be split into the > following logic parts: > 1. Export ECAM API and add parent device to pci_config_window > 2. Add IO resources handling to PCI core code > 3. Support for generic domain assignment based on ACPI > 4. New MCFG driver > 5. Implement ARM64 ACPI based PCI host controller driver under arch/arm64/ > > Patches has been built on top of 4.7-rc1 and can be found here: > git@github.com:semihalf-nowicki-tomasz/linux.git (pci-acpi-v8) > > This has been tested on Cavium ThunderX server. Any help in reviewing and > testing is very appreciated. > > v7 -> v8 > - move code from drivers/acpi/pci_root_generic.c to arch/arm64/kernel/pci.c > - minor changes around domain assignment > - pci_mcfg.c improvements for parsing MCFG tables and lookup its entries > > v6 -> v7 > - drop quirks handling > - changes for ACPI companion and domain number assignment approach > - implement arch pcibios_{add|remove}_bus and call acpi_pci_{add|remove}_bus from there > - cleanups around nomenclature > - use resources oriented API for ECAM > - fix for based address calculation before mapping ECAM region > - remove useless lock for MCFG lookup > - move MCFG stuff to separated file pci_mcfg.c > - drop MCFG entries caching > - rebase against 4.6-rc7 > > v5 -> v6 > - drop idea of x86 MMCONFIG code refactoring > - integrate JC's patches which introduce new ECAM API: > https://lkml.org/lkml/2016/4/11/907 > git: https://github.com/jchandra-brcm/linux/ (arm64-acpi-pci-v3) > - integrate Sinan's fix for releasing IO resources, see patch [06/13] > - added ACPI support for ThunderX ECAM and PEM drivers > - rebase against 4.6-rc2 > > v4 -> v5 > - drop MCFG refactoring group patches 1-6 from series v4 and integrate Jayachandran's patch > https://patchwork.ozlabs.org/patch/575525/ > - rewrite PCI legacy IRQs allocation > - squash two patches 11 and 12 from series v4, fixed bisection issue > - changelog improvements > - rebase against 4.5-rc3 > > v3 -> v4 > - drop Jiang's fix http://lkml.iu.edu/hypermail/linux/kernel/1601.1/04318.html > - add Lorenzo's fix patch 19/24 > - ACPI PCI bus domain number assigning cleanup > - change resource management, we now claim and reassign resources > - improvements for applying quirks > - drop Matthew's http://www.spinics.net/lists/linux-pci/msg45950.html dependency > - rebase against 4.5-rc1 > > v2 -> v3 > - fix legacy IRQ assigning and IO ports registration > - remove reference to arch specific companion device for ia64 > - move ACPI PCI host controller driver to pci_root.c > - drop generic domain assignment for x86 and ia64 as I am not > able to run all necessary test variants > - drop patch which cleaned legacy IRQ assignment since it belongs to > Mathew's series: > https://patchwork.ozlabs.org/patch/557504/ > - extend MCFG quirk code > - rebase against 4.4 > > v1 -> v2 > - move non-arch specific piece of code to dirver/acpi/ directory > - fix IO resource handling > - introduce PCI config accessors quirks matching > - moved ACPI_COMPANION_SET to generic code > > v1 - https://lkml.org/lkml/2015/10/27/504 > v2 - https://lkml.org/lkml/2015/12/16/246 > v3 - http://lkml.iu.edu/hypermail/linux/kernel/1601.1/04308.html > v4 - https://lkml.org/lkml/2016/2/4/646 > v5 - https://lkml.org/lkml/2016/2/16/426 > v6 - https://lkml.org/lkml/2016/4/15/594 > > Jayachandran C (2): > PCI: ecam: move ecam.h to linux/include/pci-ecam.h > PCI: ecam: Add parent device field to pci_config_window > > Tomasz Nowicki (7): > pci: Add new function to unmap IO resources. > acpi, pci: Support IO resources when parsing PCI host bridge > resources. > pci, acpi: add acpi hook to assign domain number. > arm64, pci, acpi: ACPI support for legacy IRQs parsing and > consolidation with DT code. > acpi: Add generic MCFG table handling > arm64, pci, acpi: Provide ACPI-specific prerequisites for PCI bus > enumeration. > pci, acpi: ARM64 support for ACPI based generic PCI host controller > > arch/arm64/Kconfig | 2 + > arch/arm64/kernel/pci.c | 143 ++++++++++++++++++++++++++++++++++-- > drivers/acpi/Kconfig | 3 + > drivers/acpi/Makefile | 1 + > drivers/acpi/pci_mcfg.c | 94 ++++++++++++++++++++++++ > drivers/acpi/pci_root.c | 39 ++++++++++ > drivers/pci/ecam.c | 6 +- > drivers/pci/ecam.h | 67 ----------------- > drivers/pci/host/pci-host-common.c | 3 +- > drivers/pci/host/pci-host-generic.c | 3 +- > drivers/pci/host/pci-thunder-ecam.c | 3 +- > drivers/pci/host/pci-thunder-pem.c | 6 +- > drivers/pci/pci.c | 29 +++++++- > include/linux/pci-acpi.h | 2 + > include/linux/pci-ecam.h | 67 +++++++++++++++++ > include/linux/pci.h | 9 ++- > 16 files changed, 387 insertions(+), 90 deletions(-) > create mode 100644 drivers/acpi/pci_mcfg.c > delete mode 100644 drivers/pci/ecam.h > create mode 100644 include/linux/pci-ecam.h >
For the series,
Tested-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Thanks, Suravee
| |