Re: [patch] PCI: disable the MSI of AMD RS690

Brice Goglin
2008-01-24T11:15:47Z

Shane Huang wrote:
> This patch recover Tejun's commit
> 4be8f906435a6af241821ab5b94b2b12cb7d57d8
> because there is one MSI bug on RS690+SB600 board which will lead to
> boot failure. This bug is NOT same as the one in SB700 SATA controller,
> quirk_msi_intx_disable_bug does not work to SB600. Disablement the MSI
> of RS690 is the workaround.
>
> 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:02:00.000000000 +0800
> @@ -1623,6 +1623,7 @@
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS,
> PCI_DEVICE_ID_SERVERWORKS_GCNB_LE, quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS400_200,
> quirk_disable_all_msi);
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS480,
> quirk_disable_all_msi);
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS690,
> quirk_disable_all_msi);

This patch disable MSI for the _whole_ system, not only behind the
RS690. Is this on purpose? Is MSI really going to be broken on any
bus that's _not_ behind RS690. If not, you might want to use
quirk_disable_msi() instead (as we do for AMD8131).

Brice