Re: [RFC PATCH V5 0/5] ECAM quirks handling for ARM64 platforms

From: Duc Dang
Date: Tue Aug 09 2016 - 10:20:43 EST


On Mon, Aug 8, 2016 at 6:05 AM, Tomasz Nowicki <tn@xxxxxxxxxxxx> wrote:
> Quirk handling relies on an idea of matching MCFG OEM ID, TABLE ID and
> revision (the ones from standard header of MCFG table).
>
> Static array is used to keep quirk entries. Each entry consists of
> mentioned MCFG IDs along with custom pci_ops structure and initialization call.
>
> As an example, the last patch presents quirk handling mechanism usage for
> ThunderX PEM driver.

Tested on X-Gene with X-Gene Ecam quirk and the PCIe ports work fine
with this patch set.

>
> v4 -> v5
> - rebase against v4.8-rc1
> - rework to exact MCFG OEM ID, TABLE ID, rev match
> - use memcmp instead of strncmp
> - no substring match
> - fix typos and dmesg message
>
> Tomasz Nowicki (5):
> PCI: Embed pci_ecam_ops in pci_config_window structure
> PCI/ACPI: Move ACPI ECAM mapping to generic MCFG driver
> PCI: Check platform specific ECAM quirks
> ARM64/PCI: Start using quirks handling for ACPI based PCI host
> controller
> PCI: thunder-pem: Support quirky configuration space access for ACPI
> based PCI host controller
>
> arch/arm64/kernel/pci.c | 42 +----------------
> drivers/acpi/pci_mcfg.c | 40 ++++++++++++++++
> drivers/pci/ecam.c | 6 +--
> drivers/pci/host/Makefile | 1 +
> drivers/pci/host/mcfg-quirks.c | 93 ++++++++++++++++++++++++++++++++++++
> drivers/pci/host/mcfg-quirks.h | 24 ++++++++++
> drivers/pci/host/pci-thunder-pem.c | 96 ++++++++++++++++++++++++++++++++------
> include/linux/pci-acpi.h | 5 ++
> include/linux/pci-ecam.h | 2 +-
> 9 files changed, 252 insertions(+), 57 deletions(-)
> create mode 100644 drivers/pci/host/mcfg-quirks.c
> create mode 100644 drivers/pci/host/mcfg-quirks.h
>
> --
> 1.9.1
>
Regards,
Duc Dang.