Re: [PATCH] rename CONFIG_PCI_USE_VECTOR to CONFIG_PCI_MSI

From: Roland Dreier
Date: Mon Jul 26 2004 - 17:42:12 EST


Bjorn> Rename CONFIG_PCI_USE_VECTOR to CONFIG_PCI_MSI. The
Bjorn> "vector" terminology is architecture-dependent. The PCI
Bjorn> MSI interface actually deals with Linux IRQ numbers (i.e.,
Bjorn> things you can pass to request_irq()), and we shouldn't
Bjorn> confuse things by calling them "vectors" just because we're
Bjorn> using MSI rather than an IOSAPIC.

Seems reasonable... however CONFIG_PCI_USE_VECTOR really has two
overloaded meanings (at least on i386). First of all, as you say, it
does enable drivers to request MSI/MSI-X. However, on i386
CONFIG_PCI_USE_VECTOR also changes how the APIC is setup (the most
visible effect of which is different interrupt numbers).

I would propose the following course of action:

1) Merge Long's latest MSI/MSI-X patches (updated patches in
http://gmane.linux.kernel/218830). Without the new semantics of
pci_disable_msi()/pci_disable_msix(), it's very difficult to use
MSI/MSI-X in a device driver.
2) Split the config options so we have an i386-specific
CONFIG_PCI_USE_VECTOR and a generic CONFIG_PCI_MSI (with
CONFIG_PCI_MSI depending on something like !I386 || CONFIG_PCI_USE_VECTOR)
This would be an updated version of your patch.
3) Make the code in drivers/pci/msi.c less Intel-specific -- instead
of hard-coding Intel-specific addresses for vectors have the
computation call into arch code. This would be a fair amount of
work and depends documentation for non-Intel platforms that
implement MSI/MSI-X -- should be easier as PCI Express comes out.

- Roland
-
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/