aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-11-04 04:46:00 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2012-01-06 15:10:34 -0500
commita2e27787f893621c5a6b865acf6b7766f8671328 (patch)
treeb7398b80a56b1e25e4758dfc9ed2af2df27458f3 /include/linux/pci.h
parentfb51ccbf217c1c994607b6519c7d85250928553d (diff)
PCI: Introduce INTx check & mask API
These new PCI services allow to probe for 2.3-compliant INTx masking support and then use the feature from PCI interrupt handlers. The services are properly synchronized with concurrent config space access via sysfs or on device reset. This enables generic PCI device drivers like uio_pci_generic or KVM's device assignment to implement the necessary kernel-side IRQ handling without any knowledge about device-specific interrupt status and control registers. Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r--include/linux/pci.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 72401596b2a8..4286b853956e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -804,6 +804,9 @@ int __must_check pci_set_mwi(struct pci_dev *dev);
804int pci_try_set_mwi(struct pci_dev *dev); 804int pci_try_set_mwi(struct pci_dev *dev);
805void pci_clear_mwi(struct pci_dev *dev); 805void pci_clear_mwi(struct pci_dev *dev);
806void pci_intx(struct pci_dev *dev, int enable); 806void pci_intx(struct pci_dev *dev, int enable);
807bool pci_intx_mask_supported(struct pci_dev *dev);
808bool pci_check_and_mask_intx(struct pci_dev *dev);
809bool pci_check_and_unmask_intx(struct pci_dev *dev);
807void pci_msi_off(struct pci_dev *dev); 810void pci_msi_off(struct pci_dev *dev);
808int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size); 811int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size);
809int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask); 812int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask);