]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices
authorDavid Daney <david.daney@cavium.com>
Fri, 4 Mar 2016 22:31:48 +0000 (14:31 -0800)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 11 Mar 2016 22:10:48 +0000 (16:10 -0600)
commit7b6e7ba8e81a862e20d213d90aa5ba1e5a02aba6
tree56ba0d0986a399fc3f7e49ba7f90fb3511d8b695
parentf12b76e56ada6e276a3d45b60c4e26e2dda7e547
PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices

The cavium,pci-thunder-ecam devices are exactly ECAM-based PCI root
complexes.  These root complexes (loosely referred to as ECAM units in the
hardware manuals) are used to access the Thunder on-chip devices.  They
are special in that all the BARs on devices behind these root complexes are
at fixed addresses.

Add a driver for these devices that synthesizes Enhanced Allocation (EA)
capability entries for each BAR.

Since this EA synthesis is needed for exactly two chip models, we can hard-
code some assumptions about the device topology and the layout of the
config space of specific DEVFNs in the driver.

[bhelgaas: changelog, whitespace]
Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/pci/pci-thunder-ecam.txt [new file with mode: 0644]
drivers/pci/host/Kconfig
drivers/pci/host/Makefile
drivers/pci/host/pci-thunder-ecam.c [new file with mode: 0644]