diff options
author | Matthew Wilcox <willy@linux.intel.com> | 2009-03-17 08:54:10 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-03-20 13:48:14 -0400 |
commit | 1c8d7b0a562da06d3ebe83f01b1ed553205d1ae4 (patch) | |
tree | 79c84432f5aed5a08b3bef262a10d933daae6a9b /include/linux/pci.h | |
parent | f2440d9acbe866b917b16cc0f927366341ce9215 (diff) |
PCI MSI: Add support for multiple MSI
Add the new API pci_enable_msi_block() to allow drivers to
request multiple MSI and reimplement pci_enable_msi in terms of
pci_enable_msi_block. Ensure that the architecture back ends don't
have to know about multiple MSI.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r-- | include/linux/pci.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index 7baf2a5db12a..1f6c5ddaae36 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -789,7 +789,7 @@ struct msix_entry { | |||
789 | 789 | ||
790 | 790 | ||
791 | #ifndef CONFIG_PCI_MSI | 791 | #ifndef CONFIG_PCI_MSI |
792 | static inline int pci_enable_msi(struct pci_dev *dev) | 792 | static inline int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec) |
793 | { | 793 | { |
794 | return -1; | 794 | return -1; |
795 | } | 795 | } |
@@ -824,7 +824,7 @@ static inline int pci_msi_enabled(void) | |||
824 | return 0; | 824 | return 0; |
825 | } | 825 | } |
826 | #else | 826 | #else |
827 | extern int pci_enable_msi(struct pci_dev *dev); | 827 | extern int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec); |
828 | extern void pci_msi_shutdown(struct pci_dev *dev); | 828 | extern void pci_msi_shutdown(struct pci_dev *dev); |
829 | extern void pci_disable_msi(struct pci_dev *dev); | 829 | extern void pci_disable_msi(struct pci_dev *dev); |
830 | extern int pci_msix_table_size(struct pci_dev *dev); | 830 | extern int pci_msix_table_size(struct pci_dev *dev); |
@@ -846,6 +846,8 @@ static inline int pcie_aspm_enabled(void) | |||
846 | extern int pcie_aspm_enabled(void); | 846 | extern int pcie_aspm_enabled(void); |
847 | #endif | 847 | #endif |
848 | 848 | ||
849 | #define pci_enable_msi(pdev) pci_enable_msi_block(pdev, 1) | ||
850 | |||
849 | #ifdef CONFIG_HT_IRQ | 851 | #ifdef CONFIG_HT_IRQ |
850 | /* The functions a driver should call */ | 852 | /* The functions a driver should call */ |
851 | int ht_create_irq(struct pci_dev *dev, int idx); | 853 | int ht_create_irq(struct pci_dev *dev, int idx); |