Message ID | 1362682516-9840-1-git-send-email-xiong@qca.qualcomm.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Tue, Mar 12, 2013 at 7:20 PM, Wei Yang <weiyang@linux.vnet.ibm.com> wrote: > On Fri, Mar 08, 2013 at 02:55:16AM +0800, xiong wrote: >>From: "Huang,Xiong" <xiong@qca.qualcomm.com> >> >>following PCIe Devices with revision lower than 0x18 have this bug: >> >> AR8161(1091)/AR8162(1090)/AR8171(10A1)/AR8172(10A0)/E210X(E091). >> >>Signed-off-by: Huang,Xiong <xiong@qca.qualcomm.com> > > Reviewed-by: Wei Yang <weiyang@linux.vnet.ibm.com> Added Reviewed-by and applied to pci/misc for v3.10. Thanks! >>--- >> drivers/pci/quirks.c | 18 ++++++++++++++++++ >> 1 file changed, 18 insertions(+) >> >>diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c >>index 0369fb6..4273a2d 100644 >>--- a/drivers/pci/quirks.c >>+++ b/drivers/pci/quirks.c >>@@ -2594,6 +2594,14 @@ static void quirk_msi_intx_disable_ati_bug(struct pci_dev *dev) >> dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; >> pci_dev_put(p); >> } >>+static void quirk_msi_intx_disable_qca_bug(struct pci_dev *dev) >>+{ >>+ /* AR816X/AR817X/E210X MSI is fixed at HW level from revision 0x18 */ >>+ if (dev->revision < 0x18) { >>+ dev_info(&dev->dev, "set MSI_INTX_DISABLE_BUG flag\n"); >>+ dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; >>+ } >>+} >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, >> PCI_DEVICE_ID_TIGON3_5780, >> quirk_msi_intx_disable_bug); >>@@ -2643,6 +2651,16 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1073, >> quirk_msi_intx_disable_bug); >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1083, >> quirk_msi_intx_disable_bug); >>+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1090, >>+ quirk_msi_intx_disable_qca_bug); >>+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1091, >>+ quirk_msi_intx_disable_qca_bug); >>+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x10a0, >>+ quirk_msi_intx_disable_qca_bug); >>+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x10a1, >>+ quirk_msi_intx_disable_qca_bug); >>+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0xe091, >>+ quirk_msi_intx_disable_qca_bug); >> #endif /* CONFIG_PCI_MSI */ >> >> /* Allow manual resource allocation for PCI hotplug bridges >>-- >>1.7.11.7 >> >>-- >>To unsubscribe from this list: send the line "unsubscribe linux-pci" in >>the body of a message to majordomo@vger.kernel.org >>More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > Richard Yang > Help you, Help me > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 0369fb6..4273a2d 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2594,6 +2594,14 @@ static void quirk_msi_intx_disable_ati_bug(struct pci_dev *dev) dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; pci_dev_put(p); } +static void quirk_msi_intx_disable_qca_bug(struct pci_dev *dev) +{ + /* AR816X/AR817X/E210X MSI is fixed at HW level from revision 0x18 */ + if (dev->revision < 0x18) { + dev_info(&dev->dev, "set MSI_INTX_DISABLE_BUG flag\n"); + dev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG; + } +} DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780, quirk_msi_intx_disable_bug); @@ -2643,6 +2651,16 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1073, quirk_msi_intx_disable_bug); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1083, quirk_msi_intx_disable_bug); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1090, + quirk_msi_intx_disable_qca_bug); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x1091, + quirk_msi_intx_disable_qca_bug); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x10a0, + quirk_msi_intx_disable_qca_bug); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0x10a1, + quirk_msi_intx_disable_qca_bug); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATTANSIC, 0xe091, + quirk_msi_intx_disable_qca_bug); #endif /* CONFIG_PCI_MSI */ /* Allow manual resource allocation for PCI hotplug bridges