Merge tag 'stable/for-linus-3.16-rc7-tag' of git://git.kernel.org/pub/scm/linux/kerne...
[deliverable/linux.git] / include / linux / pci.h
index 71d9673c1b2c4532130240055939974679dd3dea..466bcd111d85d80916af2f7592dec3c3c539e441 100644 (file)
@@ -164,13 +164,17 @@ enum pci_dev_flags {
        /* INTX_DISABLE in PCI_COMMAND register disables MSI
         * generation too.
         */
-       PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = (__force pci_dev_flags_t) 1,
+       PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG = (__force pci_dev_flags_t) (1 << 0),
        /* Device configuration is irrevocably lost if disabled into D3 */
-       PCI_DEV_FLAGS_NO_D3 = (__force pci_dev_flags_t) 2,
+       PCI_DEV_FLAGS_NO_D3 = (__force pci_dev_flags_t) (1 << 1),
        /* Provide indication device is assigned by a Virtual Machine Manager */
-       PCI_DEV_FLAGS_ASSIGNED = (__force pci_dev_flags_t) 4,
+       PCI_DEV_FLAGS_ASSIGNED = (__force pci_dev_flags_t) (1 << 2),
        /* Flag for quirk use to store if quirk-specific ACS is enabled */
-       PCI_DEV_FLAGS_ACS_ENABLED_QUIRK = (__force pci_dev_flags_t) 8,
+       PCI_DEV_FLAGS_ACS_ENABLED_QUIRK = (__force pci_dev_flags_t) (1 << 3),
+       /* Flag to indicate the device uses dma_alias_devfn */
+       PCI_DEV_FLAGS_DMA_ALIAS_DEVFN = (__force pci_dev_flags_t) (1 << 4),
+       /* Use a PCIe-to-PCI bridge alias even if !pci_is_pcie */
+       PCI_DEV_FLAG_PCIE_BRIDGE_ALIAS = (__force pci_dev_flags_t) (1 << 5),
 };
 
 enum pci_irq_reroute_variant {
@@ -268,6 +272,7 @@ struct pci_dev {
        u8              rom_base_reg;   /* which config register controls the ROM */
        u8              pin;            /* which interrupt pin this device uses */
        u16             pcie_flags_reg; /* cached PCIe Capabilities Register */
+       u8              dma_alias_devfn;/* devfn of DMA alias, if any */
 
        struct pci_driver *driver;      /* which driver has allocated this device */
        u64             dma_mask;       /* Mask of the bits of bus address this
@@ -1809,6 +1814,10 @@ static inline struct eeh_dev *pci_dev_to_eeh_dev(struct pci_dev *pdev)
 }
 #endif
 
+int pci_for_each_dma_alias(struct pci_dev *pdev,
+                          int (*fn)(struct pci_dev *pdev,
+                                    u16 alias, void *data), void *data);
+
 /**
  * pci_find_upstream_pcie_bridge - find upstream PCIe-to-PCI bridge of a device
  * @pdev: the PCI device
This page took 0.024831 seconds and 5 git commands to generate.