diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2020-08-06 02:24:15 +0300 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2020-08-06 02:24:15 +0300 |
commit | 3f906da760596b9a9551cd9243ece42f05e1a579 (patch) | |
tree | 4e496bd2305d93ca363e0fa7f31c7e6943772ff6 /include/linux/pci.h | |
parent | 0dfcabe9c640591808de483fadcd823dd24c37fb (diff) | |
parent | b7360f609f5fa0537667dc1b8036c96bf7e03023 (diff) | |
download | linux-3f906da760596b9a9551cd9243ece42f05e1a579.tar.xz |
Merge branch 'pci/enumeration'
- Fix pci_cfg_wait queue locking problem (Xiang Zheng, Bjorn Helgaas)
- Keep device in system even if driver attach fails (Rajat Jain)
- Cache ACS capability offset in device (Rajat Jain)
- Treat "external-facing" devices themselves as internal, not external
(Rajat Jain)
- Announce device after early fixups (Tiezhu Yang)
* pci/enumeration:
PCI: Announce device after early fixups
PCI: Treat "external-facing" devices themselves as internal
PCI: Cache ACS capability offset in device
PCI: Reorder pci_enable_acs() and dependencies
PCI: Add device even if driver attach failed
PCI: Fix pci_cfg_wait queue locking problem
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 c79d83304e52..7a40cd5caed0 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -432,6 +432,12 @@ struct pci_dev { * mappings to make sure they cannot access arbitrary memory. */ unsigned int untrusted:1; + /* + * Info from the platform, e.g., ACPI or device tree, may mark a + * device as "external-facing". An external-facing device is + * itself internal but devices downstream from it are external. + */ + unsigned int external_facing:1; unsigned int broken_intx_masking:1; /* INTx masking can't be used */ unsigned int io_window_1k:1; /* Intel bridge 1K I/O windows */ unsigned int irq_managed:1; @@ -486,6 +492,7 @@ struct pci_dev { #ifdef CONFIG_PCI_P2PDMA struct pci_p2pdma *p2pdma; #endif + u16 acs_cap; /* ACS Capability offset */ phys_addr_t rom; /* Physical address if not from BAR */ size_t romlen; /* Length if not from BAR */ char *driver_override; /* Driver name to force a match */ |