diff options
author | Christopher Covington <cov@codeaurora.org> | 2016-11-02 11:11:27 -0500 |
---|---|---|
committer | Bjorn Helgaas <helgaas@kernel.org> | 2016-12-06 13:45:49 -0600 |
commit | 2ca5b8ddc6f70d77a51851ba5e5cd0d39c27dd88 (patch) | |
tree | c0fdc10e9412d7d47ad027660015c49267346cea /drivers/pci/ecam.c | |
parent | 169de969c0188be69bd5ff1e148d42a49bf47738 (diff) | |
download | blackbird-op-linux-2ca5b8ddc6f70d77a51851ba5e5cd0d39c27dd88.tar.gz blackbird-op-linux-2ca5b8ddc6f70d77a51851ba5e5cd0d39c27dd88.zip |
PCI: Add MCFG quirks for Qualcomm QDF2432 host controller
The Qualcomm Technologies QDF2432 SoC does not support accesses smaller
than 32 bits to the PCI configuration space. Register the appropriate
quirk.
[bhelgaas: add QCOM_ECAM32 macro, ifdef for ACPI and PCI_QUIRKS]
Signed-off-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/ecam.c')
-rw-r--r-- | drivers/pci/ecam.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/pci/ecam.c b/drivers/pci/ecam.c index 43ed08dd8b01..2fee61bb6559 100644 --- a/drivers/pci/ecam.c +++ b/drivers/pci/ecam.c @@ -162,3 +162,15 @@ struct pci_ecam_ops pci_generic_ecam_ops = { .write = pci_generic_config_write, } }; + +#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) +/* ECAM ops for 32-bit access only (non-compliant) */ +struct pci_ecam_ops pci_32b_ops = { + .bus_shift = 20, + .pci_ops = { + .map_bus = pci_ecam_map_bus, + .read = pci_generic_config_read32, + .write = pci_generic_config_write32, + } +}; +#endif |