Re: pci_enable_msi() for everyone?

From: Roland Dreier
Date: Sat Jun 04 2005 - 10:04:48 EST


Dave> What if MSI support has been disabled in the bridge due to
Dave> some quirk (like the recent AMD 8111 quirk) ? Maybe the
Dave> above function should check pci_msi_enable as well ?

You can't disable MSI at a bridge -- according to the PCI spec, as
soon as a device has the MSI enable turned on, it must start using MSI
for interrupts and must not ever assert an interrupt pine. The issue
with AMD 8131 is that it doesn't have any MSI support and just
silently throws away MSI messages, and so the host never gets
interrupts from devices in MSI mode. Which means any device below
such a host bridge better not have MSI or MSI-X enabled.

- R.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/