All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] powerpc/powernv: PCI Surprise Hotplug Support
@ 2016-09-28  4:34 Gavin Shan
  2016-09-28  4:34 ` [PATCH v3 1/6] powerpc/eeh: Allow to freeze PE in eeh_pe_set_option() Gavin Shan
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Gavin Shan @ 2016-09-28  4:34 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: bhelgaas, mpe, Gavin Shan

This series of patches supports PCI surprise hotplug on PowerNV platform.
Without the corresponding skiboot patches, this feature won't be enabled
and workable.

   * The skiboot patches can be found in below link (PATCH[01/16):
     https://patchwork.ozlabs.org/project/skiboot/list/?submitter=63923
   * This newly added functionality depends on skiboot's changes. However,
     the functionality is disabled simply when skiboot doesn't support it.
     For one specific slot, property "ibm,slot-surprise-pluggable" of the
     slot's device node is set to 1 when surprise hotplug is claimed by
     skiboot.
   * The interrupts because of presence and link state change are enabled
     in order to support PCI surprise hotplug. The surprise hotplug events
     are queued to the PCI slot and they're picked up for further processing
     in serialized fashion. The surprise and managed hotplug share same code
     flow except: the affected PEs are put into frozen state to avoid unexpected
     EEH error reporting in surprise hot remove path.

PATCH[1/6] to PATCH[3/6] allow to freeze PEs to avoid unexpected EEH error
reporting in PCI surprise hot remove path. PATCH[4/6] clears PE's frozen state
on initializing it because the PE might have been put into frozen state in last
PCI surprise hot remove. PATCH[5/6] removes likely() and unlikely() in pnv_php.c
as they are not too useful. PATCH[6/6] supports PCI surprise hotplug for PowerNV
PCI hotplug driver.

Changelog
=========
v2:
   * Add one patch to remove likely() and unlikely() in pnv_php.c.
   * Remove likely() and unlikely() in PATCH[v1 4/4].
   * The event isn't pre-allocated. It's always allocated from slab
     in the interrupt handler. The removed PE is put into frozen state
     before the event is allocated.
v3:
   * Add one patch to export confirm_error_lock to avoid building error
     when having CONFIG_HOTPLUG_PCI_POWERNV=m

Gavin Shan (6):
  powerpc/eeh: Allow to freeze PE in eeh_pe_set_option()
  powerpc/eeh: Export confirm_error_lock
  powerpc/eeh: Export eeh_pe_state_mark()
  powerpc/powernv: Unfreeze PE on allocation
  drivers/pci/hotplug: Remove likely() and unlikely() in powernv driver
  drivers/pci/hotplug: Support surprise hotplug in powernv driver

 arch/powerpc/include/asm/pnv-pci.h        |   2 +
 arch/powerpc/kernel/eeh.c                 |   2 +
 arch/powerpc/kernel/eeh_pe.c              |   1 +
 arch/powerpc/platforms/powernv/pci-ioda.c |  12 ++
 drivers/pci/hotplug/pnv_php.c             | 268 ++++++++++++++++++++++++++----
 5 files changed, 257 insertions(+), 28 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-29 13:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-28  4:34 [PATCH v3 0/6] powerpc/powernv: PCI Surprise Hotplug Support Gavin Shan
2016-09-28  4:34 ` [PATCH v3 1/6] powerpc/eeh: Allow to freeze PE in eeh_pe_set_option() Gavin Shan
2016-09-29 13:13   ` [v3,1/6] " Michael Ellerman
2016-09-28  4:34 ` [PATCH v3 2/6] powerpc/eeh: Export confirm_error_lock Gavin Shan
2016-09-28  4:34 ` [PATCH v3 3/6] powerpc/eeh: Export eeh_pe_state_mark() Gavin Shan
2016-09-28  4:34 ` [PATCH v3 4/6] powerpc/powernv: Unfreeze PE on allocation Gavin Shan
2016-09-28  4:34 ` [PATCH v3 5/6] drivers/pci/hotplug: Remove likely() and unlikely() in powernv driver Gavin Shan
2016-09-28  4:34 ` [PATCH v3 6/6] drivers/pci/hotplug: Support surprise hotplug " Gavin Shan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.