]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports
authorDongdong Liu <liudongdong3@huawei.com>
Tue, 4 Apr 2017 19:32:33 +0000 (19:32 +0000)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 21 Apr 2017 08:12:45 +0000 (10:12 +0200)
BugLink: http://bugs.launchpad.net/bugs/1682130
[ 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>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/pci/quirks.c
include/linux/pci_ids.h

index 53ce3b3ab2b642d4ab7d73f6440cbeb731f1ac4c..2e359c916e28bdee3dea5896bc509a0be4f82fc8 100644 (file)
@@ -1649,6 +1649,7 @@ static void quirk_pcie_mch(struct pci_dev *pdev)
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,   PCI_DEVICE_ID_INTEL_E7520_MCH,  quirk_pcie_mch);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,   PCI_DEVICE_ID_INTEL_E7320_MCH,  quirk_pcie_mch);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,   PCI_DEVICE_ID_INTEL_E7525_MCH,  quirk_pcie_mch);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_HUAWEI,  0x1610, quirk_pcie_mch);
 
 
 /*
index 73dda0edcb9785ceabd71afc94d742f7a13c435f..a4f77feecbb00f84fac0295a2b2745928e9e0472 100644 (file)
 #define PCI_DEVICE_ID_KORENIX_JETCARDF2        0x1700
 #define PCI_DEVICE_ID_KORENIX_JETCARDF3        0x17ff
 
+#define PCI_VENDOR_ID_HUAWEI           0x19e5
+
 #define PCI_VENDOR_ID_NETRONOME                0x19ee
 #define PCI_DEVICE_ID_NETRONOME_NFP3200        0x3200
 #define PCI_DEVICE_ID_NETRONOME_NFP3240        0x3240