While we setup MSI or MSI-X for specific PCI device, the address of MSI or MSI-X capability structure is figured out from the config space for multiple times. That's unnecessary and the patchset addresses that. With the patchset applied, the latency for MSI or MSI-X setup would be decreased hopefully. v2 -> v3: * Remove checking on MSI/MSI-X capability offset in msi_set_enable() and msix_set_enable(). Let the caller does the check * Using "u8" for MSI/MSI-X/PM capability * Let caller of pci_msi_check_device() checks MSI/MSI-X capability * Replace msi_control_reg() with "pos + PCI_MSI_FLAGS" * Merge [4/5] to [3/5] v1 -> v2: * Cache the MSI/MSI-X capability offset to pci_dev directly according to Bjorn's suggestion. * Rebase to 3.9.RC5 --- drivers/pci/msi.c | 110 +++++++++++++++++++++++---------------------------- drivers/pci/msi.h | 1 - include/linux/pci.h | 4 +- 3 files changed, 52 insertions(+), 63 deletions(-) Thanks, Gavin -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html