RE: [patch] PCI: modify SB700 SATA MSI quirk

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Shane Huang
Date: Thursday, January 24, 2008 - 8:26 pm

I did some modification to this patch and send it again, Please check
it.
The quirk to 0x4395 has been removed because 0x4395 only belongs to
SB800.


Thanks
Shane




diff -ruN linux-2.6.24-rc7_org/drivers/pci/quirks.c
linux-2.6.24-rc7_new/drivers/pci/quirks.c
--- linux-2.6.24-rc7_org/drivers/pci/quirks.c	2008-01-23
14:44:53.000000000 +0800
+++ linux-2.6.24-rc7_new/drivers/pci/quirks.c	2008-01-25
10:55:21.000000000 +0800
@@ -1709,6 +1709,24 @@
 {
 	dev->dev_flags |=3D PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG;
 }
+static void __devinit quirk_msi_intx_disable_ati_bug(struct pci_dev
*dev)
+{
+	struct pci_dev *p;
+	u8 rev =3D 0;
+
+	/* SB700 MSI issue will be fixed at HW level from revision A21,
+	 * we need check PCI REVISION ID of SMBus controller to get
SB700
+	 * revision.
+	 */
+	p =3D pci_get_device(PCI_VENDOR_ID_ATI,
PCI_DEVICE_ID_ATI_SBX00_SMBUS,
+			   NULL);
+	if (p) {
+		pci_read_config_byte(p, PCI_CLASS_REVISION, &rev);
+	}
+	if ((rev < 0x3B) && (rev >=3D 0x30)) {
+		dev->dev_flags |=3D 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);
@@ -1729,17 +1747,15 @@
 			quirk_msi_intx_disable_bug);
=20
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4390,
-			quirk_msi_intx_disable_bug);
+			quirk_msi_intx_disable_ati_bug);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4391,
-			quirk_msi_intx_disable_bug);
+			quirk_msi_intx_disable_ati_bug);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4392,
-			quirk_msi_intx_disable_bug);
+			quirk_msi_intx_disable_ati_bug);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4393,
-			quirk_msi_intx_disable_bug);
+			quirk_msi_intx_disable_ati_bug);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4394,
-			quirk_msi_intx_disable_bug);
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4395,
-			quirk_msi_intx_disable_bug);
+			quirk_msi_intx_disable_ati_bug);
=20
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x4373,
 			quirk_msi_intx_disable_bug);
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] PCI: disable MSI on more ATI NorthBridges, Shane Huang, (Thu Oct 18, 2:14 am)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, David Miller, (Thu Oct 18, 3:19 am)
RE: [patch] PCI: disable MSI on more ATI NorthBridges, Shane Huang, (Thu Oct 18, 3:37 am)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, David Miller, (Thu Oct 18, 4:46 am)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, Daniel Barkalow, (Fri Oct 19, 10:42 am)
[patch] PCI: disable the MSI of AMD RS690, Shane Huang, (Thu Jan 24, 3:59 am)
[patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 4:12 am)
Re: [patch] PCI: disable the MSI of AMD RS690, Brice Goglin, (Thu Jan 24, 4:15 am)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Tejun Heo, (Thu Jan 24, 5:19 pm)
RE: [patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 8:26 pm)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Tejun Heo, (Thu Jan 24, 8:35 pm)
RE: [patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 8:48 pm)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Greg KH, (Thu Jan 24, 9:33 pm)
RE: [patch] PCI: disable the MSI of AMD RS690, Shane Huang, (Fri Jan 25, 3:39 am)