mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-27 14:43:58 +08:00
acb52897cc
The HiSilicon HIP PCIe controller is capable of handling errors on root port and performing port reset separately at each root port. Add error handling driver for HIP PCIe controller to log and report recoverable errors. Perform root port reset and restore link status after the recovery. Following are some of the PCIe controller's recoverable errors 1. completion transmission timeout error. 2. CRS retry counter over the threshold error. 3. ECC 2 bit errors 4. AXI bresponse/rresponse errors etc. The driver placed in the drivers/pci/controller/ because the HIP PCIe controller does not use DWC IP. Link: https://lore.kernel.org/r/20200903123456.1823-3-shiju.jose@huawei.com Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> Signed-off-by: Shiju Jose <shiju.jose@huawei.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
55 lines
2.3 KiB
Makefile
55 lines
2.3 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_PCIE_CADENCE) += cadence/
|
|
obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
|
|
obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
|
|
obj-$(CONFIG_PCI_HYPERV_INTERFACE) += pci-hyperv-intf.o
|
|
obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
|
|
obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
|
|
obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o
|
|
obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
|
|
obj-$(CONFIG_PCIE_RCAR_HOST) += pcie-rcar.o pcie-rcar-host.o
|
|
obj-$(CONFIG_PCIE_RCAR_EP) += pcie-rcar.o pcie-rcar-ep.o
|
|
obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
|
|
obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
|
|
obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
|
|
obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
|
|
obj-$(CONFIG_PCIE_XILINX_CPM) += pcie-xilinx-cpm.o
|
|
obj-$(CONFIG_PCI_V3_SEMI) += pci-v3-semi.o
|
|
obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
|
|
obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
|
|
obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o
|
|
obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o
|
|
obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o
|
|
obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o
|
|
obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o
|
|
obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o
|
|
obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o
|
|
obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
|
|
obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
|
|
obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
|
|
obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
|
|
obj-$(CONFIG_VMD) += vmd.o
|
|
obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
|
|
obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o
|
|
obj-$(CONFIG_PCIE_HISI_ERR) += pcie-hisi-error.o
|
|
# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
|
|
obj-y += dwc/
|
|
obj-y += mobiveil/
|
|
|
|
|
|
# The following drivers are for devices that use the generic ACPI
|
|
# pci_root.c driver but don't support standard ECAM config access.
|
|
# They contain MCFG quirks to replace the generic ECAM accessors with
|
|
# device-specific ones that are shared with the DT driver.
|
|
|
|
# The ACPI driver is generic and should not require driver-specific
|
|
# config options to be enabled, so we always build these drivers on
|
|
# ARM64 and use internal ifdefs to only build the pieces we need
|
|
# depending on whether ACPI, the DT driver, or both are enabled.
|
|
|
|
ifdef CONFIG_PCI
|
|
obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
|
|
obj-$(CONFIG_ARM64) += pci-thunder-pem.o
|
|
obj-$(CONFIG_ARM64) += pci-xgene.o
|
|
endif
|