mbox series

[0/7] Add support for R-Car Gen4 PCI host controller

Message ID cover.1740382735.git.mykyta_poturai@epam.com (mailing list archive)
Headers show
Series Add support for R-Car Gen4 PCI host controller | expand

Message

Mykyta Poturai Feb. 24, 2025, 9:18 a.m. UTC
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 also includes a workaround for proper ATU propramming and
optimizations to lessen the performance impact of that workaround.

The series was tested both as a part of the pci-passthrough patches[1] and
standalone on S4 and V4H boards.

[1] https://github.com/Deedone/xen/tree/pci_passthrough_wip

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

Volodymyr Babchuk (3):
  xen/arm: rcar4: add delay after programming ATU
  xen/arm: rcar4: add simple optimization to avoid ATU reprogramming
  xen/arm: rcar4: program ATU to accesses to all functions

 xen/arch/arm/include/asm/pci.h      |  16 +-
 xen/arch/arm/pci/Makefile           |   1 +
 xen/arch/arm/pci/ecam.c             |  17 +-
 xen/arch/arm/pci/pci-access.c       |  37 +-
 xen/arch/arm/pci/pci-host-common.c  | 106 +++++-
 xen/arch/arm/pci/pci-host-generic.c |   2 +-
 xen/arch/arm/pci/pci-host-rcar4.c   | 542 ++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-host-zynqmp.c  |   2 +-
 xen/arch/arm/vpci.c                 |  91 ++++-
 9 files changed, 764 insertions(+), 50 deletions(-)
 create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c