Re: [PATCH] powerpc/maple: Add a quirk to disable MSI for IPR on Bimini
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-05-22 05:58:15
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-05-22 05:58:15
On Fri, 2009-05-22 at 15:10 +1000, Michael Ellerman wrote:
Signed-off-by: Michael Ellerman <redacted> --- arch/powerpc/platforms/maple/pci.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) It's getting late in the cycle, so until we can work out what's wrong with IPR + MSI on Bimini, add a quirk to disable MSI for IPR.
Thanks, I'll send that to Linus for 2.6.30 Cheers, Ben.
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 3018552..04296ff 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) } return irq; } + +static void __devinit quirk_ipr_msi(struct pci_dev *dev) +{ + /* Something prevents MSIs from the IPR from working on Bimini, + * and the driver has no smarts to recover. So disable MSI + * on it for now. */ + + if (machine_is(maple)) { + dev->no_msi = 1; + dev_info(&dev->dev, "Quirk disabled MSI\n"); + } +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN, + quirk_ipr_msi);