diff options
| author | Bjorn Helgaas <bhelgaas@google.com> | 2013-11-07 17:02:04 -0500 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2013-11-07 17:02:04 -0500 |
| commit | eaaeb1cb33310dea6c3fa45d8bfc63e5a1d0a846 (patch) | |
| tree | a76b60ff193a29b521e1bd63943a6d1969fe9af4 /include/linux | |
| parent | c245f2422031fec447e4d9e35fb0ef0fd5e42ab9 (diff) | |
| parent | 79272138bd5c35edb9be5ae7b473a2741751a706 (diff) | |
Merge branch 'pci/misc' into next
* pci/misc:
PCI: Enable upstream bridges even for VFs on virtual buses
PCI: Add pci_upstream_bridge()
PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/msi.h | 2 | ||||
| -rw-r--r-- | include/linux/pci.h | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/msi.h b/include/linux/msi.h index b17ead818aec..87cce50bd121 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h | |||
| @@ -64,6 +64,8 @@ void arch_restore_msi_irqs(struct pci_dev *dev, int irq); | |||
| 64 | 64 | ||
| 65 | void default_teardown_msi_irqs(struct pci_dev *dev); | 65 | void default_teardown_msi_irqs(struct pci_dev *dev); |
| 66 | void default_restore_msi_irqs(struct pci_dev *dev, int irq); | 66 | void default_restore_msi_irqs(struct pci_dev *dev, int irq); |
| 67 | u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag); | ||
| 68 | u32 default_msix_mask_irq(struct msi_desc *desc, u32 flag); | ||
| 67 | 69 | ||
| 68 | struct msi_chip { | 70 | struct msi_chip { |
| 69 | struct module *owner; | 71 | struct module *owner; |
diff --git a/include/linux/pci.h b/include/linux/pci.h index d3a888ae4b2e..835ec7bf6c05 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -480,6 +480,15 @@ static inline bool pci_is_root_bus(struct pci_bus *pbus) | |||
| 480 | return !(pbus->parent); | 480 | return !(pbus->parent); |
| 481 | } | 481 | } |
| 482 | 482 | ||
| 483 | static inline struct pci_dev *pci_upstream_bridge(struct pci_dev *dev) | ||
| 484 | { | ||
| 485 | dev = pci_physfn(dev); | ||
| 486 | if (pci_is_root_bus(dev->bus)) | ||
| 487 | return NULL; | ||
| 488 | |||
| 489 | return dev->bus->self; | ||
| 490 | } | ||
| 491 | |||
| 483 | #ifdef CONFIG_PCI_MSI | 492 | #ifdef CONFIG_PCI_MSI |
| 484 | static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev) | 493 | static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev) |
| 485 | { | 494 | { |
