aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-05-22 10:33:49 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-05-22 10:33:49 -0400
commit1e787d139f89eb5f7080035625649ce4ce290037 (patch)
tree20dc621d9f73ff0944b89b7891c0e4006efa46a6 /arch
parent66a26a8fa7694cdfa418d1527416c4ea079309f4 (diff)
parent6eb0ac03899a1363ba176abe0830a9e6698c0503 (diff)
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/maple: Add a quirk to disable MSI for IPR on Bimini
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/maple/pci.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c
index 301855263b81..04296ffff8bf 100644
--- a/arch/powerpc/platforms/maple/pci.c
+++ b/arch/powerpc/platforms/maple/pci.c
@@ -592,3 +592,17 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel)
592 } 592 }
593 return irq; 593 return irq;
594} 594}
595
596static void __devinit quirk_ipr_msi(struct pci_dev *dev)
597{
598 /* Something prevents MSIs from the IPR from working on Bimini,
599 * and the driver has no smarts to recover. So disable MSI
600 * on it for now. */
601
602 if (machine_is(maple)) {
603 dev->no_msi = 1;
604 dev_info(&dev->dev, "Quirk disabled MSI\n");
605 }
606}
607DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN,
608 quirk_ipr_msi);