linux_dsm_epyc7002/drivers/pci/controller/dwc
Jonathan Chocron 4166bfe530 PCI: al: Add Amazon Annapurna Labs PCIe host controller driver
Add driver for Amazon's Annapurna Labs PCIe host controller.  The
controller is based on DesignWare's IP.

The controller doesn't support accessing the Root Port's config space via
ECAM, so we obtain its base address via an AMZN0001 device.

Furthermore, the DesignWare PCIe controller doesn't filter out config
transactions sent to devices 1 and up on its bus, so they are filtered by
the driver.

All subordinate buses do support ECAM access.

Implementing specific PCI config access functions involves:
 - Adding an init function to obtain the Root Port's base address from
   an AMZN0001 device.
 - Adding a new entry in the MCFG quirk array.

[bhelgaas: Note that there is no Kconfig option for this driver because it
is only intended for use with the generic ACPI host bridge driver.  This
driver is only needed because the DesignWare IP doesn't completely support
ECAM access to the root bus.]

Link: https://lore.kernel.org/lkml/1553774276-24675-1-git-send-email-jonnyc@amazon.com
Co-developed-by: Vladimir Aerov <vaerov@amazon.com>
Signed-off-by: Jonathan Chocron <jonnyc@amazon.com>
Signed-off-by: Vladimir Aerov <vaerov@amazon.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
2019-04-25 16:33:07 -05:00
..
Kconfig PCI: imx6: Add support for i.MX8MQ 2019-02-04 12:04:53 +00:00
Makefile PCI: al: Add Amazon Annapurna Labs PCIe host controller driver 2019-04-25 16:33:07 -05:00
pci-dra7xx.c Merge branch 'remotes/lorenzo/pci/endpoint' 2019-03-06 15:30:21 -06:00
pci-exynos.c PCI: exynos: Drop unnecessary root_bus_nr setting 2018-07-13 14:07:47 +01:00
pci-imx6.c pci-v5.1-changes 2019-03-09 14:57:08 -08:00
pci-keystone.c PCI: keystone: Cleanup macros defined in pci-keystone.c 2018-10-17 09:59:02 +01:00
pci-layerscape-ep.c PCI: layerscape: Add EP mode support 2019-02-21 10:40:55 +00:00
pci-layerscape.c pci-v4.21-changes 2019-01-05 17:57:34 -08:00
pci-meson.c PCI: amlogic: Fix build failure due to missing gpio header 2019-01-08 09:01:44 -06:00
pcie-al.c PCI: al: Add Amazon Annapurna Labs PCIe host controller driver 2019-04-25 16:33:07 -05:00
pcie-armada8k.c Revert "PCI: armada8k: Add support for gpio controlled reset signal" 2019-01-31 15:07:29 -06:00
pcie-artpec6.c PCI: Update xxx_pcie_ep_raise_irq() and pci_epc_raise_irq() signatures 2018-07-19 11:34:42 +01:00
pcie-designware-ep.c Merge branch 'remotes/lorenzo/pci/endpoint' 2019-03-06 15:30:21 -06:00
pcie-designware-host.c PCI: dwc: skip MSI init if MSIs have been explicitly disabled 2019-03-01 12:05:45 +00:00
pcie-designware-plat.c Merge branch 'remotes/lorenzo/pci/endpoint' 2019-03-06 15:30:21 -06:00
pcie-designware.c PCI: dwc: Make use of BIT() in constant definitions 2019-03-01 10:55:32 +00:00
pcie-designware.h Merge branch 'remotes/lorenzo/pci/endpoint' 2019-03-06 15:30:21 -06:00
pcie-hisi.c
pcie-histb.c PCI: histb: Constify dw_pcie_host_ops structure 2018-11-08 13:54:44 +00:00
pcie-kirin.c PCI: kirin: Fix section mismatch warning 2018-10-01 17:16:23 +01:00
pcie-qcom.c PCI: qcom: Don't deassert reset GPIO during probe 2019-02-28 09:46:10 +00:00
pcie-spear13xx.c PCI: spear13xx: Drop unnecessary root_bus_nr setting 2018-07-13 14:10:55 +01:00
pcie-uniphier.c PCI: uniphier: Add UniPhier PCIe host controller support 2018-12-19 10:25:44 +00:00