diff options
| author | Alexander Gordeev <agordeev@redhat.com> | 2013-12-30 02:28:15 -0500 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-01-03 19:17:55 -0500 |
| commit | ff1aa430a2fa43189e89c7ddd559f0bee2298288 (patch) | |
| tree | 731237d3f796f92aa31b41a8fda7f0e38c707fbb /Documentation/PCI | |
| parent | 7b92b4f61ec49cb1a5813298f35258bd7ecd3667 (diff) | |
PCI/MSI: Add pci_msix_vec_count()
This creates an MSI-X counterpart for pci_msi_vec_count(). Device drivers
can use this function to obtain maximum number of MSI-X interrupts the
device supports and use that number in a subsequent call to
pci_enable_msix().
pci_msix_vec_count() supersedes pci_msix_table_size() and returns a
negative errno if device does not support MSI-X interrupts. After this
update, callers must always check the returned value.
The only user of pci_msix_table_size() was the PCI-Express port driver,
which is also updated by this change.
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'Documentation/PCI')
| -rw-r--r-- | Documentation/PCI/MSI-HOWTO.txt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/PCI/MSI-HOWTO.txt b/Documentation/PCI/MSI-HOWTO.txt index aa4ad987510d..b58f4a4d14bb 100644 --- a/Documentation/PCI/MSI-HOWTO.txt +++ b/Documentation/PCI/MSI-HOWTO.txt | |||
| @@ -243,6 +243,19 @@ MSI-X Table. This address is mapped by the PCI subsystem, and should not | |||
| 243 | be accessed directly by the device driver. If the driver wishes to | 243 | be accessed directly by the device driver. If the driver wishes to |
| 244 | mask or unmask an interrupt, it should call disable_irq() / enable_irq(). | 244 | mask or unmask an interrupt, it should call disable_irq() / enable_irq(). |
| 245 | 245 | ||
| 246 | 4.3.4 pci_msix_vec_count | ||
| 247 | |||
| 248 | int pci_msix_vec_count(struct pci_dev *dev) | ||
| 249 | |||
| 250 | This function could be used to retrieve number of entries in the device | ||
| 251 | MSI-X table. | ||
| 252 | |||
| 253 | If this function returns a negative number, it indicates the device is | ||
| 254 | not capable of sending MSI-Xs. | ||
| 255 | |||
| 256 | If this function returns a positive number, it indicates the maximum | ||
| 257 | number of MSI-X interrupt vectors that could be allocated. | ||
| 258 | |||
| 246 | 4.4 Handling devices implementing both MSI and MSI-X capabilities | 259 | 4.4 Handling devices implementing both MSI and MSI-X capabilities |
| 247 | 260 | ||
| 248 | If a device implements both MSI and MSI-X capabilities, it can | 261 | If a device implements both MSI and MSI-X capabilities, it can |
