aboutsummaryrefslogtreecommitdiff
path: root/include/pci-slot.h
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2017-02-20 10:57:52 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-02-22 16:51:18 +1100
commit98e81fe6522f9484feaaac2200407149d29bd1d3 (patch)
tree44cfe2650ec650b952daa3ef316cb3035bbdeede /include/pci-slot.h
parentb8a808f063985641477c39b257fdbae41fbf4ab1 (diff)
downloadskiboot-98e81fe6522f9484feaaac2200407149d29bd1d3.zip
skiboot-98e81fe6522f9484feaaac2200407149d29bd1d3.tar.gz
skiboot-98e81fe6522f9484feaaac2200407149d29bd1d3.tar.bz2
core/pci: Mark broken PDC on slots without surprise hotplug capability
We has to support surprise hotplug on PCI slots that don't support it on hardware. So we're fully utilizing the PCIe link state change event to detect the events (hot-remove and hot-add). The PDC (Presence Detection Change) event isn't reliable for the purpose. For example, PEX8718 on superMicro's machines. This adds another PCI slot property "ibm,slot-broken-pdc" in the device-tree, to indicate the PDC isn't reliable on those (software claimed) surprise pluggable slots. Reported-by: Hank Chang <hankmax0000@gmail.com> Signed-off-by: Gavin Shan <gwhsan@linux.vnet.ibm.com> Tested-by: Willie Liauw <williel@supermicro.com.tw> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/pci-slot.h')
-rw-r--r--include/pci-slot.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/pci-slot.h b/include/pci-slot.h
index 7f16ddd..4ebe043 100644
--- a/include/pci-slot.h
+++ b/include/pci-slot.h
@@ -147,6 +147,7 @@ struct pci_slot {
uint32_t flags;
#define PCI_SLOT_FLAG_BOOTUP 0x1
#define PCI_SLOT_FLAG_FORCE_POWERON 0x2
+#define PCI_SLOT_FLAG_BROKEN_PDC 0x4
struct phb *phb;
struct pci_device *pd;