/[linux-patches]/genpatches-2.6/tags/2.6.21-2/2100_ahci-ati-disable-msi.patch
Gentoo

Contents of /genpatches-2.6/tags/2.6.21-2/2100_ahci-ati-disable-msi.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 962 - (show annotations) (download)
Fri May 18 22:56:34 2007 UTC (10 years, 9 months ago) by dsd
File size: 2753 byte(s)
2.6.21-2 release
1 From stable-bounces@linux.kernel.org Thu May 10 23:01:01 2007
2 Message-Id: <200705110558.l4B5wpgh007979@shell0.pdx.osdl.net>
3 To: greg@kroah.com
4 From: akpm@linux-foundation.org
5 Date: Thu, 10 May 2007 22:58:51 -0700
6 Cc: akpm@linux-foundation.org, htejun@gmail.com, stable@kernel.org, jeff@garzik.org, torresmat@gmail.com
7 Subject: pci-quirks: disable MSI on RS400-200 and RS480
8
9 From: Tejun Heo <htejun@gmail.com>
10
11 MSI doesn't work on RS400-200 and RS480 requiring pci=nomsi kernel boot
12 parameter for ahci to work. This patch renames quirk_svw_msi() to
13 quirk_disable_all_msi() and use it to disable MSI on those chips.
14
15 http://thread.gmane.org/gmane.linux.ide/17820
16 http://thread.gmane.org/gmane.linux.ide/17516
17 https://bugzilla.novell.com/show_bug.cgi?id=263893
18
19 Signed-off-by: Tejun Heo <htejun@gmail.com>
20 Cc: Matí-as Alejandro Torres <torresmat@gmail.com>
21 Cc: Greg K-H <greg@kroah.com>
22 Cc: Jeff Garzik <jeff@garzik.org>
23 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
24 Signed-off-by: Chris Wright <chrisw@sous-sol.org>
25 ---
26
27 drivers/pci/quirks.c | 16 +++++++++-------
28 1 file changed, 9 insertions(+), 7 deletions(-)
29
30 --- linux-2.6.21.1.orig/drivers/pci/quirks.c
31 +++ linux-2.6.21.1/drivers/pci/quirks.c
32 @@ -1737,18 +1737,20 @@ DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_N
33 quirk_nvidia_ck804_pcie_aer_ext_cap);
34
35 #ifdef CONFIG_PCI_MSI
36 -/* The Serverworks PCI-X chipset does not support MSI. We cannot easily rely
37 - * on setting PCI_BUS_FLAGS_NO_MSI in its bus flags because there are actually
38 - * some other busses controlled by the chipset even if Linux is not aware of it.
39 - * Instead of setting the flag on all busses in the machine, simply disable MSI
40 - * globally.
41 +/* Some chipsets do not support MSI. We cannot easily rely on setting
42 + * PCI_BUS_FLAGS_NO_MSI in its bus flags because there are actually
43 + * some other busses controlled by the chipset even if Linux is not
44 + * aware of it. Instead of setting the flag on all busses in the
45 + * machine, simply disable MSI globally.
46 */
47 -static void __init quirk_svw_msi(struct pci_dev *dev)
48 +static void __init quirk_disable_all_msi(struct pci_dev *dev)
49 {
50 pci_no_msi();
51 printk(KERN_WARNING "PCI: MSI quirk detected. MSI deactivated.\n");
52 }
53 -DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_svw_msi);
54 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_disable_all_msi);
55 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200, quirk_disable_all_msi);
56 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480, quirk_disable_all_msi);
57
58 /* Disable MSI on chipsets that are known to not support it */
59 static void __devinit quirk_disable_msi(struct pci_dev *dev)

  ViewVC Help
Powered by ViewVC 1.1.20