This supercedes Gavin's "[PATCH v3 0/5] Retrieve MSI/MSIX cap struct for once on setup" series from Apr 4, 2013. It includes Gavin's patches (there were actually only 4 in v3, not 5), together with more MSI-related cleanup that I did. There's also a possible bug-fix in xen_initdom_setup_msi_irqs(): previously it ignored the "Table Offset" bits in the MSI-X capability. I don't know enough about Xen to know how it uses struct physdev_map_pirq, but it seems possible that we should pay attention to those bits. --- Bjorn Helgaas (18): [SCSI] megaraid_sas: Use correct #define for MSI-X capability PCI: Use u8, not int, for PM capability offset PCI: Clean up MSI/MSI-X capability #defines PCI: Use cached MSI/MSI-X offsets from dev, not from msi_desc PCI: Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly PCI: Drop msi_lower_address_reg() and msi_upper_address_reg() macros PCI: Drop msi_data_reg() macro PCI: Drop is_64bit_address() and is_mask_bit_support() macros PCI: Drop msix_table_offset_reg() and msix_pba_offset_reg() macros PCI: Use msix_table_size() directly, drop multi_msix_capable() PCI: Drop msi_mask_reg() and remove drivers/pci/msi.h PCI: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK PCI: Remove "extern" from function declarations xen/pci: Pay attention to PCI_MSIX_TABLE_OFFSET xen/pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK xen/pci: Used cached MSI-X capability offset vfio-pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK vfio-pci: Use cached MSI/MSI-X capabilities Gavin Shan (4): PCI: Cache MSI/MSI-X capability offsets in struct pci_dev PCI: Remove MSI/MSI-X cap check in pci_msi_check_device() PCI: Use cached MSI cap while enabling MSI interrupts PCI: Use cached MSI-X cap while enabling MSI-X arch/x86/pci/xen.c | 9 + drivers/pci/msi.c | 176 +++++++++++++---------------- drivers/pci/msi.h | 24 ---- drivers/scsi/megaraid/megaraid_sas.h | 3 drivers/scsi/megaraid/megaraid_sas_base.c | 4 - drivers/vfio/pci/vfio_pci.c | 10 +- include/linux/msi.h | 23 ++-- include/linux/pci.h | 5 - include/uapi/linux/pci_regs.h | 30 +++-- 9 files changed, 123 insertions(+), 161 deletions(-) delete mode 100644 drivers/pci/msi.h -- Bjorn -- 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