From nsankar@broadcom.com Fri May  6 12:01:57 2005
Message-ID: <427BBEB5.9030109@broadcom.com>
Date: Fri, 06 May 2005 12:00:05 -0700
From: "Narendra Sankar" <nsankar@broadcom.com>
To: "Greg KH" <gregkh@suse.de>
Subject: PCI: MSI functionality broken on Serverworks GC chipset

MSI functionality is broken on the GC_LE x86 chipset that Serverworks 
developed and that is being used in various platforms today. Broadcom is 
going to push out to the kernel MSI enabled Gigabit drivers (in the very 
near future), and we would like to make sure that MSI does not get 
enabled on any platforms using the GC_LE chipset (device id 0x17). 
Following the AMD 8131 example, I am including a patch to disable MSI 
functionality when a GCNB_LE is detected. Please let me know if there 
are any issues with this. This is a permanent fix for this chipset, as 
the hardware will not be updated.
    

Signed-off-by: Narendra Sankar <nsankar@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


---
 drivers/pci/quirks.c |    6 ++++++
 1 files changed, 6 insertions(+)

--- gregkh-2.6.orig/drivers/pci/quirks.c	2005-05-06 09:22:24.000000000 -0700
+++ gregkh-2.6/drivers/pci/quirks.c	2005-05-06 12:25:10.000000000 -0700
@@ -455,6 +455,12 @@
 } 
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_APIC,         quirk_amd_8131_ioapic ); 
 
+static void __init quirk_svw_msi(struct pci_dev *dev)
+{
+	pci_msi_quirk = 1;
+	printk(KERN_WARNING "PCI: MSI quirk detected. pci_msi_quirk set.\n");
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_svw_msi );
 #endif /* CONFIG_X86_IO_APIC */