Lines Matching refs:bridge
181 static void pci_walk_bridge(struct pci_dev *bridge, in pci_walk_bridge() argument
185 if (bridge->subordinate) in pci_walk_bridge()
186 pci_walk_bus(bridge->subordinate, cb, userdata); in pci_walk_bridge()
188 cb(bridge, userdata); in pci_walk_bridge()
196 struct pci_dev *bridge; in pcie_do_recovery() local
213 bridge = dev; in pcie_do_recovery()
215 bridge = pci_upstream_bridge(dev); in pcie_do_recovery()
217 pci_walk_bridge(bridge, pci_pm_runtime_get_sync, NULL); in pcie_do_recovery()
219 pci_dbg(bridge, "broadcast error_detected message\n"); in pcie_do_recovery()
221 pci_walk_bridge(bridge, report_frozen_detected, &status); in pcie_do_recovery()
222 if (reset_subordinates(bridge) != PCI_ERS_RESULT_RECOVERED) { in pcie_do_recovery()
223 pci_warn(bridge, "subordinate device reset failed\n"); in pcie_do_recovery()
227 pci_walk_bridge(bridge, report_normal_detected, &status); in pcie_do_recovery()
232 pci_dbg(bridge, "broadcast mmio_enabled message\n"); in pcie_do_recovery()
233 pci_walk_bridge(bridge, report_mmio_enabled, &status); in pcie_do_recovery()
243 pci_dbg(bridge, "broadcast slot_reset message\n"); in pcie_do_recovery()
244 pci_walk_bridge(bridge, report_slot_reset, &status); in pcie_do_recovery()
250 pci_dbg(bridge, "broadcast resume message\n"); in pcie_do_recovery()
251 pci_walk_bridge(bridge, report_resume, &status); in pcie_do_recovery()
264 pci_walk_bridge(bridge, pci_pm_runtime_put, NULL); in pcie_do_recovery()
266 pci_info(bridge, "device recovery successful\n"); in pcie_do_recovery()
270 pci_walk_bridge(bridge, pci_pm_runtime_put, NULL); in pcie_do_recovery()
272 pci_uevent_ers(bridge, PCI_ERS_RESULT_DISCONNECT); in pcie_do_recovery()
275 pci_info(bridge, "device recovery failed\n"); in pcie_do_recovery()