diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-08-03 13:02:12 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-23 14:54:18 -0700 |
commit | 388c8c16abafc2e74dff173b5de9ee519ea8d32f (patch) | |
tree | ed1197dcbff33881b7e285c066f1e4260be6c7a4 /include | |
parent | 18b341b76cd99ce949806ccf5565900465ec2e7f (diff) | |
download | linux-3.10-388c8c16abafc2e74dff173b5de9ee519ea8d32f.tar.gz linux-3.10-388c8c16abafc2e74dff173b5de9ee519ea8d32f.tar.bz2 linux-3.10-388c8c16abafc2e74dff173b5de9ee519ea8d32f.zip |
PCI: add routines for debugging and handling lost interrupts
We're getting a lot of storage drivers blamed for interrupt misrouting
issues. This patch provides a standard way of reporting the problem
... and, if possible, correcting it.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/pci.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index 752def8a2ef..c75b82bda32 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -546,6 +546,13 @@ struct pci_dev __deprecated *pci_find_slot(unsigned int bus, unsigned int devfn); #endif /* CONFIG_PCI_LEGACY */ +enum pci_lost_interrupt_reason { + PCI_LOST_IRQ_NO_INFORMATION = 0, + PCI_LOST_IRQ_DISABLE_MSI, + PCI_LOST_IRQ_DISABLE_MSIX, + PCI_LOST_IRQ_DISABLE_ACPI, +}; +enum pci_lost_interrupt_reason pci_lost_interrupt(struct pci_dev *dev); int pci_find_capability(struct pci_dev *dev, int cap); int pci_find_next_capability(struct pci_dev *dev, u8 pos, int cap); int pci_find_ext_capability(struct pci_dev *dev, int cap); |