This series adds support for R-Car Gen4 PCI host controller. To fully support the controller, the following changes were made: - Generic mechanism to support PCI child buses is added. - Private data for PCI host bridge and means to access it are added.
The series was tested as a part of the pci-passthrough patches[1] and build-tested standalone with enabled HAS_PCI and HAS_VPCI. CI pipeline results: [2] [1]: https://github.com/Deedone/xen/tree/pci_passthrough_wip [2]: https://gitlab.com/xen-project/people/mpoturai/xen/-/pipelines/1828720661 v4->v5: * see individual patches v3->v4: * rebase * see individual patches v2->v3: * dropped patches related to ATU programming delay * improved formatting v1->v2: * see individual patches Oleksandr Andrushchenko (4): xen/arm: allow PCI host bridge to have private data xen/arm: make pci_host_common_probe return the bridge xen/arm: add support for PCI child bus xen/arm: add support for R-Car Gen4 PCI host controller MAINTAINERS | 6 + xen/arch/arm/include/asm/pci.h | 22 +- xen/arch/arm/pci/Makefile | 2 + xen/arch/arm/pci/ecam.c | 1 + xen/arch/arm/pci/pci-access.c | 37 ++- xen/arch/arm/pci/pci-designware.c | 416 ++++++++++++++++++++++++++++ xen/arch/arm/pci/pci-designware.h | 90 ++++++ xen/arch/arm/pci/pci-host-common.c | 92 ++++-- xen/arch/arm/pci/pci-host-generic.c | 2 +- xen/arch/arm/pci/pci-host-rcar4.c | 94 +++++++ xen/arch/arm/pci/pci-host-zynqmp.c | 3 +- xen/arch/arm/vpci.c | 91 ++++-- 12 files changed, 808 insertions(+), 48 deletions(-) create mode 100644 xen/arch/arm/pci/pci-designware.c create mode 100644 xen/arch/arm/pci/pci-designware.h create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c -- 2.34.1