summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/pnv-pci.h
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2016-09-28 14:34:58 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2016-09-29 15:02:28 +1000
commit360aebd85a4c946764f6301d68de2a817fad5159 (patch)
tree0bc1b0ecddcc2437dfc843cf9ee48970e11f824d /arch/powerpc/include/asm/pnv-pci.h
parent149ba66a90a3b3cf8595ba8f0b2e4b2131e1681e (diff)
downloadblackbird-op-linux-360aebd85a4c946764f6301d68de2a817fad5159.tar.gz
blackbird-op-linux-360aebd85a4c946764f6301d68de2a817fad5159.zip
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>
Diffstat (limited to 'arch/powerpc/include/asm/pnv-pci.h')
-rw-r--r--arch/powerpc/include/asm/pnv-pci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/pnv-pci.h b/arch/powerpc/include/asm/pnv-pci.h
index 0cbd8134ce81..17e89dd613e1 100644
--- a/arch/powerpc/include/asm/pnv-pci.h
+++ b/arch/powerpc/include/asm/pnv-pci.h
@@ -60,6 +60,8 @@ struct pnv_php_slot {
#define PNV_PHP_STATE_POPULATED 2
#define PNV_PHP_STATE_OFFLINE 3
int state;
+ int irq;
+ struct workqueue_struct *wq;
struct device_node *dn;
struct pci_dev *pdev;
struct pci_bus *bus;
OpenPOWER on IntegriCloud