diff options
author | Dongdong Liu <liudongdong3@huawei.com> | 2016-12-01 09:45:35 +0300 |
---|---|---|
committer | Bjorn Helgaas <helgaas@kernel.org> | 2016-12-06 22:45:49 +0300 |
commit | 5f00f1a0178cf52928366a5e1f376a65f1f3f389 (patch) | |
tree | 94a3a7b9cdfae44cd1410920f3111f893a2295cb /include/linux/pci-ecam.h | |
parent | 2ca5b8ddc6f70d77a51851ba5e5cd0d39c27dd88 (diff) | |
download | linux-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.h | 1 |
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 |