|
@@ -681,17 +681,6 @@ static void pcie_enable_notification(struct controller *ctrl)
|
|
|
pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, cmd);
|
|
|
}
|
|
|
|
|
|
-void pcie_reenable_notification(struct controller *ctrl)
|
|
|
-{
|
|
|
- /*
|
|
|
- * Clear both Presence and Data Link Layer Changed to make sure
|
|
|
- * those events still fire after we have re-enabled them.
|
|
|
- */
|
|
|
- pcie_capability_write_word(ctrl->pcie->port, PCI_EXP_SLTSTA,
|
|
|
- PCI_EXP_SLTSTA_PDC | PCI_EXP_SLTSTA_DLLSC);
|
|
|
- pcie_enable_notification(ctrl);
|
|
|
-}
|
|
|
-
|
|
|
static void pcie_disable_notification(struct controller *ctrl)
|
|
|
{
|
|
|
u16 mask;
|
|
@@ -705,6 +694,12 @@ static void pcie_disable_notification(struct controller *ctrl)
|
|
|
pci_pcie_cap(ctrl->pcie->port) + PCI_EXP_SLTCTL, 0);
|
|
|
}
|
|
|
|
|
|
+void pcie_clear_hotplug_events(struct controller *ctrl)
|
|
|
+{
|
|
|
+ pcie_capability_write_word(ctrl_dev(ctrl), PCI_EXP_SLTSTA,
|
|
|
+ PCI_EXP_SLTSTA_PDC | PCI_EXP_SLTSTA_DLLSC);
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* pciehp has a 1:1 bus:slot relationship so we ultimately want a secondary
|
|
|
* bus reset of the bridge, but at the same time we want to ensure that it is
|