summaryrefslogtreecommitdiff
path: root/include/linux/pci-ecam.h
diff options
context:
space:
mode:
authorDongdong Liu <liudongdong3@huawei.com>2016-12-01 09:45:35 +0300
committerBjorn Helgaas <helgaas@kernel.org>2016-12-06 22:45:49 +0300
commit5f00f1a0178cf52928366a5e1f376a65f1f3f389 (patch)
tree94a3a7b9cdfae44cd1410920f3111f893a2295cb /include/linux/pci-ecam.h
parent2ca5b8ddc6f70d77a51851ba5e5cd0d39c27dd88 (diff)
downloadlinux-5f00f1a0178cf52928366a5e1f376a65f1f3f389.tar.xz
PCI: Add MCFG quirks for HiSilicon Hip05/06/07 host controllers
The PCIe controller in Hip05/Hip06/Hip07 SoCs is not completely ECAM-compliant. It is non-ECAM only for the RC bus config space; for any other bus underneath the root bus it does support ECAM access. Add specific quirks for PCI config space accessors. This involves: 1. New initialization call hisi_pcie_init() to obtain RC base addresses from PNP0C02 at the root of the ACPI namespace (under \_SB). 2. New entry in common quirk array. [bhelgaas: move to pcie-hisi.c and change Makefile/ifdefs so quirk doesn't depend on CONFIG_PCI_HISI] Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@huawei.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'include/linux/pci-ecam.h')
-rw-r--r--include/linux/pci-ecam.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
index 739d2330fd9e..bdacbc883a22 100644
--- a/include/linux/pci-ecam.h
+++ b/include/linux/pci-ecam.h
@@ -61,6 +61,7 @@ extern struct pci_ecam_ops pci_generic_ecam_ops;
#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
extern struct pci_ecam_ops pci_32b_ops; /* 32-bit accesses only */
+extern struct pci_ecam_ops hisi_pcie_ops; /* HiSilicon */
#endif
#ifdef CONFIG_PCI_HOST_GENERIC