arch/powerpc/kernel/eeh.c | 1 + arch/powerpc/kernel/eeh_driver.c | 48 ++++-- arch/powerpc/kernel/eeh_pe.c | 10 +- arch/powerpc/kernel/pci-hotplug.c | 3 + drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- 5 files changed, 263 insertions(+), 43 deletions(-)
Hello all, This series includes several fixes for bugs in the PowerNV PCIe hotplug driver that were discovered in testing with a Microsemi Switchtec PM8533 PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for PCIe switches that don't correctly implement slot presence detection such as the aforementioned one. Without the workaround, the switch works and downstream devices can be hot-unplugged, but the devices never come back online after being plugged in again until the system is rebooted. Other hotplug drivers (like pciehp_hpc) use a similar workaround. Also included are fixes for the EEH driver to make it hotplug safe, and a small patch to enable all three attention indicator states per the PCIe specification. Thanks, Shawn Anastasio (2): PCI: pnv_php: Properly clean up allocated IRQs on unplug PCI: pnv_php: Work around switches with broken presence detection Timothy Pearson (4): powerpc/eeh: Export eeh_unfreeze_pe() powerpc/eeh: Make EEH driver device hotplug safe PCI: pnv_php: Fix surprise plug detection and recovery PCI: pnv_php: Enable third attention indicator state arch/powerpc/kernel/eeh.c | 1 + arch/powerpc/kernel/eeh_driver.c | 48 ++++-- arch/powerpc/kernel/eeh_pe.c | 10 +- arch/powerpc/kernel/pci-hotplug.c | 3 + drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- 5 files changed, 263 insertions(+), 43 deletions(-) -- 2.39.5
On 7/16/25 3:01 AM, Timothy Pearson wrote: > Hello all, > > This series includes several fixes for bugs in the PowerNV PCIe hotplug > driver that were discovered in testing with a Microsemi Switchtec PM8533 > PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for > PCIe switches that don't correctly implement slot presence detection > such as the aforementioned one. Without the workaround, the switch works > and downstream devices can be hot-unplugged, but the devices never come > back online after being plugged in again until the system is rebooted. > Other hotplug drivers (like pciehp_hpc) use a similar workaround. > > Also included are fixes for the EEH driver to make it hotplug safe, > and a small patch to enable all three attention indicator states per > the PCIe specification. > > Thanks, > > Shawn Anastasio (2): > PCI: pnv_php: Properly clean up allocated IRQs on unplug > PCI: pnv_php: Work around switches with broken presence detection > > Timothy Pearson (4): > powerpc/eeh: Export eeh_unfreeze_pe() > powerpc/eeh: Make EEH driver device hotplug safe > PCI: pnv_php: Fix surprise plug detection and recovery > PCI: pnv_php: Enable third attention indicator state > > arch/powerpc/kernel/eeh.c | 1 + > arch/powerpc/kernel/eeh_driver.c | 48 ++++-- > arch/powerpc/kernel/eeh_pe.c | 10 +- > arch/powerpc/kernel/pci-hotplug.c | 3 + > drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- > 5 files changed, 263 insertions(+), 43 deletions(-) > Tested the patch series for EEH and hotplug on powernv, recovery is working as expected, EEH changes looks good to me. Tested-by: Ganesh Goudar <ganeshgr@linux.ibm.com> Thanks Ganesh
On Tue, Jul 15, 2025 at 04:31:49PM -0500, Timothy Pearson wrote: > Hello all, > > This series includes several fixes for bugs in the PowerNV PCIe hotplug > driver that were discovered in testing with a Microsemi Switchtec PM8533 > PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for > PCIe switches that don't correctly implement slot presence detection > such as the aforementioned one. Without the workaround, the switch works > and downstream devices can be hot-unplugged, but the devices never come > back online after being plugged in again until the system is rebooted. > Other hotplug drivers (like pciehp_hpc) use a similar workaround. > > Also included are fixes for the EEH driver to make it hotplug safe, > and a small patch to enable all three attention indicator states per > the PCIe specification. > > Thanks, > > Shawn Anastasio (2): > PCI: pnv_php: Properly clean up allocated IRQs on unplug > PCI: pnv_php: Work around switches with broken presence detection > > Timothy Pearson (4): > powerpc/eeh: Export eeh_unfreeze_pe() > powerpc/eeh: Make EEH driver device hotplug safe > PCI: pnv_php: Fix surprise plug detection and recovery > PCI: pnv_php: Enable third attention indicator state > > arch/powerpc/kernel/eeh.c | 1 + > arch/powerpc/kernel/eeh_driver.c | 48 ++++-- > arch/powerpc/kernel/eeh_pe.c | 10 +- > arch/powerpc/kernel/pci-hotplug.c | 3 + > drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- > 5 files changed, 263 insertions(+), 43 deletions(-) I'm OK with this from a PCI perspective, and I optimistically put it on pci/hotplug. I'm happy to merge via the PCI tree, but would need acks from the powerpc folks for the arch/powerpc parts. Alternatively it could be merged via powerpc with my ack on the drivers/pci patches: Acked-by: Bjorn Helgaas <bhelgaas@google.com> If you do merge via powerpc, I made some comment formatting and commit log tweaks that I would like reflected in the drivers/pci part. These are on https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug Bjorn
[-> to: Madhavan, Michael, Mahesh; seeking acks] On Thu, Jul 17, 2025 at 06:27:52PM -0500, Bjorn Helgaas wrote: > On Tue, Jul 15, 2025 at 04:31:49PM -0500, Timothy Pearson wrote: > > Hello all, > > > > This series includes several fixes for bugs in the PowerNV PCIe hotplug > > driver that were discovered in testing with a Microsemi Switchtec PM8533 > > PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for > > PCIe switches that don't correctly implement slot presence detection > > such as the aforementioned one. Without the workaround, the switch works > > and downstream devices can be hot-unplugged, but the devices never come > > back online after being plugged in again until the system is rebooted. > > Other hotplug drivers (like pciehp_hpc) use a similar workaround. > > > > Also included are fixes for the EEH driver to make it hotplug safe, > > and a small patch to enable all three attention indicator states per > > the PCIe specification. > > > > Thanks, > > > > Shawn Anastasio (2): > > PCI: pnv_php: Properly clean up allocated IRQs on unplug > > PCI: pnv_php: Work around switches with broken presence detection > > > > Timothy Pearson (4): > > powerpc/eeh: Export eeh_unfreeze_pe() > > powerpc/eeh: Make EEH driver device hotplug safe > > PCI: pnv_php: Fix surprise plug detection and recovery > > PCI: pnv_php: Enable third attention indicator state > > > > arch/powerpc/kernel/eeh.c | 1 + > > arch/powerpc/kernel/eeh_driver.c | 48 ++++-- > > arch/powerpc/kernel/eeh_pe.c | 10 +- > > arch/powerpc/kernel/pci-hotplug.c | 3 + > > drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- > > 5 files changed, 263 insertions(+), 43 deletions(-) > > I'm OK with this from a PCI perspective, and I optimistically put it > on pci/hotplug. > > I'm happy to merge via the PCI tree, but would need acks from the > powerpc folks for the arch/powerpc parts. > > Alternatively it could be merged via powerpc with my ack on the > drivers/pci patches: > > Acked-by: Bjorn Helgaas <bhelgaas@google.com> > > If you do merge via powerpc, I made some comment formatting and commit > log tweaks that I would like reflected in the drivers/pci part. These > are on > https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug Powerpc folks: let me know how you want to handle this. I haven't included it in pci/next yet because I don't have acks for the arch/powerpc parts. Bjorn
On 7/23/25 2:17 AM, Bjorn Helgaas wrote: > [-> to: Madhavan, Michael, Mahesh; seeking acks] > > On Thu, Jul 17, 2025 at 06:27:52PM -0500, Bjorn Helgaas wrote: >> On Tue, Jul 15, 2025 at 04:31:49PM -0500, Timothy Pearson wrote: >>> Hello all, >>> >>> This series includes several fixes for bugs in the PowerNV PCIe hotplug >>> driver that were discovered in testing with a Microsemi Switchtec PM8533 >>> PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for >>> PCIe switches that don't correctly implement slot presence detection >>> such as the aforementioned one. Without the workaround, the switch works >>> and downstream devices can be hot-unplugged, but the devices never come >>> back online after being plugged in again until the system is rebooted. >>> Other hotplug drivers (like pciehp_hpc) use a similar workaround. >>> >>> Also included are fixes for the EEH driver to make it hotplug safe, >>> and a small patch to enable all three attention indicator states per >>> the PCIe specification. >>> >>> Thanks, >>> >>> Shawn Anastasio (2): >>> PCI: pnv_php: Properly clean up allocated IRQs on unplug >>> PCI: pnv_php: Work around switches with broken presence detection >>> >>> Timothy Pearson (4): >>> powerpc/eeh: Export eeh_unfreeze_pe() >>> powerpc/eeh: Make EEH driver device hotplug safe >>> PCI: pnv_php: Fix surprise plug detection and recovery >>> PCI: pnv_php: Enable third attention indicator state >>> >>> arch/powerpc/kernel/eeh.c | 1 + >>> arch/powerpc/kernel/eeh_driver.c | 48 ++++-- >>> arch/powerpc/kernel/eeh_pe.c | 10 +- >>> arch/powerpc/kernel/pci-hotplug.c | 3 + >>> drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- >>> 5 files changed, 263 insertions(+), 43 deletions(-) >> >> I'm OK with this from a PCI perspective, and I optimistically put it >> on pci/hotplug. >> >> I'm happy to merge via the PCI tree, but would need acks from the >> powerpc folks for the arch/powerpc parts. >> >> Alternatively it could be merged via powerpc with my ack on the >> drivers/pci patches: >> >> Acked-by: Bjorn Helgaas <bhelgaas@google.com> >> >> If you do merge via powerpc, I made some comment formatting and commit >> log tweaks that I would like reflected in the drivers/pci part. These >> are on >> https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug > > Powerpc folks: let me know how you want to handle this. I haven't > included it in pci/next yet because I don't have acks for the > arch/powerpc parts. > Patchset looks fine to be. I am fine to take it via my tree since I already have your Acked-by. Maddy > Bjorn >
On Wed, Jul 23, 2025 at 04:30:18PM +0530, Madhavan Srinivasan wrote: > > > On 7/23/25 2:17 AM, Bjorn Helgaas wrote: > > On Thu, Jul 17, 2025 at 06:27:52PM -0500, Bjorn Helgaas wrote: > >> On Tue, Jul 15, 2025 at 04:31:49PM -0500, Timothy Pearson wrote: > >>> Hello all, > >>> > >>> This series includes several fixes for bugs in the PowerNV PCIe hotplug > >>> driver that were discovered in testing with a Microsemi Switchtec PM8533 > >>> PFX 48xG3 PCIe switch on a PowerNV system, as well as one workaround for > >>> PCIe switches that don't correctly implement slot presence detection > >>> such as the aforementioned one. Without the workaround, the switch works > >>> and downstream devices can be hot-unplugged, but the devices never come > >>> back online after being plugged in again until the system is rebooted. > >>> Other hotplug drivers (like pciehp_hpc) use a similar workaround. > >>> > >>> Also included are fixes for the EEH driver to make it hotplug safe, > >>> and a small patch to enable all three attention indicator states per > >>> the PCIe specification. > >>> > >>> Thanks, > >>> > >>> Shawn Anastasio (2): > >>> PCI: pnv_php: Properly clean up allocated IRQs on unplug > >>> PCI: pnv_php: Work around switches with broken presence detection > >>> > >>> Timothy Pearson (4): > >>> powerpc/eeh: Export eeh_unfreeze_pe() > >>> powerpc/eeh: Make EEH driver device hotplug safe > >>> PCI: pnv_php: Fix surprise plug detection and recovery > >>> PCI: pnv_php: Enable third attention indicator state > >>> > >>> arch/powerpc/kernel/eeh.c | 1 + > >>> arch/powerpc/kernel/eeh_driver.c | 48 ++++-- > >>> arch/powerpc/kernel/eeh_pe.c | 10 +- > >>> arch/powerpc/kernel/pci-hotplug.c | 3 + > >>> drivers/pci/hotplug/pnv_php.c | 244 +++++++++++++++++++++++++++--- > >>> 5 files changed, 263 insertions(+), 43 deletions(-) > >> > >> I'm OK with this from a PCI perspective, and I optimistically put it > >> on pci/hotplug. > >> > >> I'm happy to merge via the PCI tree, but would need acks from the > >> powerpc folks for the arch/powerpc parts. > >> > >> Alternatively it could be merged via powerpc with my ack on the > >> drivers/pci patches: > >> > >> Acked-by: Bjorn Helgaas <bhelgaas@google.com> > >> > >> If you do merge via powerpc, I made some comment formatting and commit > >> log tweaks that I would like reflected in the drivers/pci part. These > >> are on > >> https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug > > > > Powerpc folks: let me know how you want to handle this. I haven't > > included it in pci/next yet because I don't have acks for the > > arch/powerpc parts. > > Patchset looks fine to be. > > I am fine to take it via my tree since I already have your Acked-by. OK, I'll assume this will be merged via your tree. Please cherry-pick the drivers/pci patches from my tree to preserve my tweaks. I moved them from pci/hotplug to pci/hotplug-pnv_php: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=hotplug-pnv_php
© 2016 - 2025 Red Hat, Inc.