[PATCH v3 0/4] CM4 ACPI PCIe quirk

From: Jeremy Linton
Date: Thu Aug 26 2021 - 03:16:04 EST


The PFTF CM4 is an ACPI platform that is following the Arm PCIe SMC
(DEN0115) standard because its PCIe config space isn't ECAM compliant
since it is split into two parts. One part describes the root port
registers, and another contains a moveable window pointing at a given
device's 4K config space. Thus it doesn't have an MCFG table. As
Linux doesn't support the PCI/SMC, a host bridge specific _DSD is
added and associated with custom ECAM ops and cfgres. The custom cfg
op selects between those two regions, as well as disallowing
problematic accesses.

V2->V3:
Rebase to -next to pickup new MAINTAINERS entries that
needed updating.
Enforce _DSD property is exactly the same len as the
MCFG OEM field it is overriding.
More commit/comment tweaks.

V1->V2:
Only move register definitions to new .h file, add
include guards.
Change quirk namespace identifier.
Update Maintainers file.
A number of whitespace, grammar, etc fixes.

Jeremy Linton (4):
PCI: brcmstb: Break register definitions into separate header
PCI: brcmstb: Add ACPI config space quirk
PCI/ACPI: Add Broadcom bcm2711 MCFG quirk
MAINTAINERS: Widen brcmstb PCIe file scope

MAINTAINERS | 6 +-
drivers/acpi/pci_mcfg.c | 17 +++
drivers/pci/controller/Makefile | 1 +
drivers/pci/controller/pcie-brcmstb-acpi.c | 79 +++++++++++
drivers/pci/controller/pcie-brcmstb.c | 149 +-------------------
drivers/pci/controller/pcie-brcmstb.h | 155 +++++++++++++++++++++
include/linux/pci-ecam.h | 1 +
7 files changed, 257 insertions(+), 151 deletions(-)
create mode 100644 drivers/pci/controller/pcie-brcmstb-acpi.c
create mode 100644 drivers/pci/controller/pcie-brcmstb.h

--
2.31.1