linux/drivers/pci/controller/dwc
Vidya Sagar 7f10074474 PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata
The PCIe controller in Tegra194 SoC is not ECAM-compliant.  With the
current hardware design, ECAM can be enabled only for one controller (the
C5 controller) with bus numbers starting from 160 instead of 0. A different
approach is taken to avoid this abnormal way of enabling ECAM for just one
controller but to enable configuration space access for all the other
controllers. In this approach, ops are added through MCFG quirk mechanism
which access the configuration spaces by dynamically programming iATU
(internal AddressTranslation Unit) to generate respective configuration
accesses just like the way it is done in DesignWare core sub-system.

This issue is specific to Tegra194 and it would be fixed in the future
generations of Tegra SoCs.

Link: https://lore.kernel.org/r/20210416134537.19474-1-vidyas@nvidia.com
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2021-04-16 11:34:17 -05:00
..
Kconfig Merge branch 'remotes/lorenzo/pci/keystone' 2020-12-15 15:11:12 -06:00
Makefile PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata 2021-04-16 11:34:17 -05:00
pci-dra7xx.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pci-exynos.c PCI: dwc: exynos: Rework the driver to support Exynos5433 variant 2020-12-01 10:22:30 +00:00
pci-imx6.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00
pci-keystone.c Revert "PCI: dwc/keystone: Drop duplicated 'num-viewport'" 2020-11-19 10:51:41 +00:00
pci-layerscape-ep.c PCI: layerscape: Add LX2160A rev2 EP mode support 2021-02-24 11:08:48 -06:00
pci-layerscape.c PCI: layerscape: Convert to builtin_platform_driver() 2021-02-24 11:08:48 -06:00
pci-meson.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00
pcie-al.c PCI: al: Remove useless dw_pcie_ops 2021-02-24 11:09:50 -06:00
pcie-armada8k.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-artpec6.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00
pcie-designware-ep.c PCI: dwc: Don't assume the ops in dw_pcie always exist 2021-02-24 11:09:50 -06:00
pcie-designware-host.c Merge branch 'remotes/lorenzo/pci/misc' 2021-02-24 14:59:25 -06:00
pcie-designware-plat.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-designware.c PCI: dwc: Don't assume the ops in dw_pcie always exist 2021-02-24 11:09:50 -06:00
pcie-designware.h PCI: dwc: Add upper limit address for outbound iATU 2021-02-24 11:09:50 -06:00
pcie-hisi.c PCI: Unify ECAM constants in native PCI Express drivers 2020-12-10 14:55:49 -06:00
pcie-histb.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-intel-gw.c PCI: dwc: Detect number of iATU windows 2020-11-19 10:51:41 +00:00
pcie-kirin.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00
pcie-qcom.c PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 2021-02-24 14:38:49 -06:00
pcie-spear13xx.c PCI: dwc: Move dw_pcie_setup_rc() to DWC common code 2020-11-19 10:51:41 +00:00
pcie-tegra194.c PCI: tegra: Add Tegra194 MCFG quirks for ECAM errata 2021-04-16 11:34:17 -05:00
pcie-uniphier-ep.c PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code 2020-11-19 10:51:40 +00:00
pcie-uniphier.c PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() 2020-11-19 10:51:41 +00:00