[patch] PCI: modify SB700 SATA MSI quirk

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <gregkh@...>
Cc: <linux-kernel@...>, <linux-pci@...>, <htejun@...>, Shane Huang <Shane.Huang@...>
Date: Thursday, January 24, 2008 - 7:12 am

SB700 SATA MSI bug will be fixed in SB700 revision A21 at hardware
level,
but the SB700 revision older than A21 will also be found in the market.
This patch modify the original quirk commit
bc38b411fe696fad32b261f492cb4afbf1835256 instead of withdrawing it.


Signed-off-by: Shane Huang <shane.huang@amd.com>


Since there is some word wrapping problem with my mail client MS
outlook, I also attach the patch as an attachment. Please check it.



diff -ruN old/drivers/pci/quirks.c new/drivers/pci/quirks.c
--- old/drivers/pci/quirks.c	2008-01-07 05:45:38.000000000 +0800
+++ new/drivers/pci/quirks.c	2008-01-22 11:31:09.000000000 +0800
@@ -1709,6 +1709,22 @@
 {
 	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!=3DNULL) {
+		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 +1745,17 @@
 			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);
+			quirk_msi_intx_disable_ati_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);


Thanks
Best Regards
Shane
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, 5:14 am)
[patch] PCI: disable the MSI of AMD RS690, Shane Huang, (Thu Jan 24, 6:59 am)
Re: [patch] PCI: disable the MSI of AMD RS690, Brice Goglin, (Thu Jan 24, 7:15 am)
RE: [patch] PCI: disable the MSI of AMD RS690, Shane Huang, (Fri Jan 25, 6:39 am)
[patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 7:12 am)
RE: [patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 11:26 pm)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Tejun Heo, (Thu Jan 24, 11:35 pm)
RE: [patch] PCI: modify SB700 SATA MSI quirk, Shane Huang, (Thu Jan 24, 11:48 pm)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Greg KH, (Fri Jan 25, 12:33 am)
Re: [patch] PCI: modify SB700 SATA MSI quirk, Tejun Heo, (Thu Jan 24, 8:19 pm)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, David Miller, (Thu Oct 18, 6:19 am)
RE: [patch] PCI: disable MSI on more ATI NorthBridges, Shane Huang, (Thu Oct 18, 6:37 am)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, David Miller, (Thu Oct 18, 7:46 am)
Re: [patch] PCI: disable MSI on more ATI NorthBridges, Daniel Barkalow, (Fri Oct 19, 1:42 pm)