[PATCH v2 0/3] ARM: PCI: implement generic PCI host controller

Will Deacon will.deacon at arm.com
Wed Feb 12 15:16:08 EST 2014

Hello again,

This is version 2 of the patches I originally posted here:


Changes since v1 include:

  - Complete rename of files, comments and compatible strings to remove
    references to a `virtual' host controller

  - Support for ECAM (depending on matched compatible string)

  - Support for multiple mem resources

  - Correct use of resource offsets (I think...)

  - Removed explicit bridge enabling from bios32.c after discussion with
    Bjorn (pending testing/feedback from rmk)

Like v1, I continue to support only a single controller and therefore a
single I/O space. I'm not sure how to represent multiple controllers in the
device-tree without inventing some horrible hacks, so any ideas in this area
would be much appreciated.

I still need to take the step of moving parts of this into a library, but
I'd like to make sure the code is correct first. Tested on TC2 running KVM
with kvmtool and virtio-pci.

All feedback welcome (and thanks to Jason and Arnd for their comments on v1),


Will Deacon (3):
  ARM: mach-virt: allow PCI support to be selected
  ARM: bios32: use pci_enable_resource to enable PCI resources
  PCI: ARM: add support for generic PCI host controller

 .../devicetree/bindings/pci/arm-generic-pci.txt    |  51 ++++
 arch/arm/kernel/bios32.c                           |  37 +--
 arch/arm/mach-virt/Kconfig                         |   1 +
 drivers/pci/host/Kconfig                           |   7 +
 drivers/pci/host/Makefile                          |   1 +
 drivers/pci/host/pci-arm-generic.c                 | 318 +++++++++++++++++++++
 6 files changed, 381 insertions(+), 34 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/arm-generic-pci.txt
 create mode 100644 drivers/pci/host/pci-arm-generic.c


More information about the linux-arm-kernel mailing list