diff options
author | Krishna Kumar <krishnak@linux.ibm.com> | 2024-07-01 10:45:07 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2024-07-04 16:10:40 +0300 |
commit | 20ce0c247b2500cb7060cb115274ba71abda2626 (patch) | |
tree | 494aeaaf58696f25ed1a96d463eb44125763554c /scripts/gdb/linux/lists.py | |
parent | 335e35b748527f0c06ded9eebb65387f60647fda (diff) | |
download | linux-20ce0c247b2500cb7060cb115274ba71abda2626.tar.xz |
powerpc/pci: Hotplug driver bridge support
There is an issue with the hotplug operation when it's done on the
bridge/switch slot. The bridge-port and devices behind the bridge, which
become offline by hot-unplug operation, don't get hot-plugged/enabled
by doing hot-plug operation on that slot. Only the first port of the
bridge gets enabled and the remaining port/devices remain unplugged. The
hot plug/unplug operation is done by the hotplug driver (drivers/pci/
hotplug/pnv_php.c).
This behavior is due to missing code for the switch/bridge. The existing
driver depends on pci_hp_add_devices() function for device enablement.
This function calls pci_scan_slot() on only one device-node/port of the
bridge, not on all the siblings' device-node/port.
The missing code needs to be added which will find all the sibling
device-nodes/bridge-ports and will run explicit pci_scan_slot()
on those. A new function has been added for this purpose
which is invoked from pci_hp_add_devices(). This new function
traverse_siblings_and_scan_slot() gets all the sibling bridge-ports by
traversal and explicitly invokes pci_scan_slot() on them.
Tested-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Signed-off-by: Krishna Kumar <krishnak@linux.ibm.com>
[mpe: Move the code into pci-hotplug.c]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240701074513.94873-3-krishnak@linux.ibm.com
Diffstat (limited to 'scripts/gdb/linux/lists.py')
0 files changed, 0 insertions, 0 deletions