diff options
author | Dongdong Liu <liudongdong3@huawei.com> | 2017-04-04 15:32:33 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-04-12 06:41:21 -0400 |
commit | 0ddf07d2a130adda9bfe7ec1fd0be88426862ccb (patch) | |
tree | ed9498c10ddd72e0d991ae5367718dd08cd00826 | |
parent | 28dd2313a6e4144a3cd41bc112b2d951dcf09a53 (diff) |
PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports
[ Upstream commit 72f2ff0deb870145a5a2d24cd75b4f9936159a62 ]
The PCIe Root Port in Hip06/Hip07 SoCs advertises an MSI capability, but it
cannot generate MSIs. It can transfer MSI/MSI-X from downstream devices,
but does not support MSI/MSI-X itself.
Add a quirk to prevent use of MSI/MSI-X by the Root Port.
[bhelgaas: changelog, sort vendor ID #define, drop device ID #define]
Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Gabriele Paoloni <gabriele.paoloni@huawei.com>
Reviewed-by: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/pci/quirks.c | 1 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 71905edf68dd..5452ede947fd 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -1634,6 +1634,7 @@ static void quirk_pcie_mch(struct pci_dev *pdev) | |||
1634 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH, quirk_pcie_mch); | 1634 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH, quirk_pcie_mch); |
1635 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7320_MCH, quirk_pcie_mch); | 1635 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7320_MCH, quirk_pcie_mch); |
1636 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH, quirk_pcie_mch); | 1636 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH, quirk_pcie_mch); |
1637 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_HUAWEI, 0x1610, quirk_pcie_mch); | ||
1637 | 1638 | ||
1638 | 1639 | ||
1639 | /* | 1640 | /* |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f020ab4079d3..3e5dbbe75f70 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -2513,6 +2513,8 @@ | |||
2513 | #define PCI_DEVICE_ID_KORENIX_JETCARDF2 0x1700 | 2513 | #define PCI_DEVICE_ID_KORENIX_JETCARDF2 0x1700 |
2514 | #define PCI_DEVICE_ID_KORENIX_JETCARDF3 0x17ff | 2514 | #define PCI_DEVICE_ID_KORENIX_JETCARDF3 0x17ff |
2515 | 2515 | ||
2516 | #define PCI_VENDOR_ID_HUAWEI 0x19e5 | ||
2517 | |||
2516 | #define PCI_VENDOR_ID_NETRONOME 0x19ee | 2518 | #define PCI_VENDOR_ID_NETRONOME 0x19ee |
2517 | #define PCI_DEVICE_ID_NETRONOME_NFP3200 0x3200 | 2519 | #define PCI_DEVICE_ID_NETRONOME_NFP3200 0x3200 |
2518 | #define PCI_DEVICE_ID_NETRONOME_NFP3240 0x3240 | 2520 | #define PCI_DEVICE_ID_NETRONOME_NFP3240 0x3240 |