drivers/pci/hotplug: Support surprise hotplug in powernv driver
authorGavin Shan <gwshan@linux.vnet.ibm.com>
Wed, 28 Sep 2016 04:34:58 +0000 (14:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 29 Sep 2016 05:02:28 +0000 (15:02 +1000)
commit360aebd85a4c946764f6301d68de2a817fad5159
tree0bc1b0ecddcc2437dfc843cf9ee48970e11f824d
parent149ba66a90a3b3cf8595ba8f0b2e4b2131e1681e
drivers/pci/hotplug: Support surprise hotplug in powernv driver

This supports PCI surprise hotplug. The design is highlighted as
below:

   * The PCI slot's surprise hotplug capability is exposed through
     device node property "ibm,slot-surprise-pluggable", meaning
     PCI surprise hotplug will be disabled if skiboot doesn't support
     it yet.
   * The interrupt because of presence or link state change is raised
     on surprise hotplug event. One event is allocated and queued to
     the PCI slot for workqueue to pick it up and process in serialized
     fashion. The code flow for surprise hotplug is same to that for
     managed hotplug except: the affected PEs are put into frozen state
     to avoid unexpected EEH error reporting in surprise hot remove path.

Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/pnv-pci.h
drivers/pci/hotplug/pnv_php.c