diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-08-03 14:02:12 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2008-10-23 17:54:18 -0400 |
commit | 388c8c16abafc2e74dff173b5de9ee519ea8d32f (patch) | |
tree | ed1197dcbff33881b7e285c066f1e4260be6c7a4 /include/linux/pci.h | |
parent | 18b341b76cd99ce949806ccf5565900465ec2e7f (diff) |
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/linux/pci.h')
-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 752def8a2ef4..c75b82bda327 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, | |||
546 | unsigned int devfn); | 546 | unsigned int devfn); |
547 | #endif /* CONFIG_PCI_LEGACY */ | 547 | #endif /* CONFIG_PCI_LEGACY */ |
548 | 548 | ||
549 | enum pci_lost_interrupt_reason { | ||
550 | PCI_LOST_IRQ_NO_INFORMATION = 0, | ||
551 | PCI_LOST_IRQ_DISABLE_MSI, | ||
552 | PCI_LOST_IRQ_DISABLE_MSIX, | ||
553 | PCI_LOST_IRQ_DISABLE_ACPI, | ||
554 | }; | ||
555 | enum pci_lost_interrupt_reason pci_lost_interrupt(struct pci_dev *dev); | ||
549 | int pci_find_capability(struct pci_dev *dev, int cap); | 556 | int pci_find_capability(struct pci_dev *dev, int cap); |
550 | int pci_find_next_capability(struct pci_dev *dev, u8 pos, int cap); | 557 | int pci_find_next_capability(struct pci_dev *dev, u8 pos, int cap); |
551 | int pci_find_ext_capability(struct pci_dev *dev, int cap); | 558 | int pci_find_ext_capability(struct pci_dev *dev, int cap); |