diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2017-02-20 10:57:52 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-02-22 16:51:18 +1100 |
commit | 98e81fe6522f9484feaaac2200407149d29bd1d3 (patch) | |
tree | 44cfe2650ec650b952daa3ef316cb3035bbdeede /include | |
parent | b8a808f063985641477c39b257fdbae41fbf4ab1 (diff) | |
download | skiboot-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')
-rw-r--r-- | include/pci-slot.h | 1 |
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; |