[PATCH 22/23] powerpc/eeh: Connect EEH error interrupt handle
Gavin Shan
shangw at linux.vnet.ibm.com
Thu May 30 18:24:04 EST 2013
The EEH error interrupts should have been exported by firmware
through device tree. The OS already installed the interrupt
handler (opal_interrupt()) for them. The patch checks if we have
any existing EEH errors and wakes the kernel thread up to process
that if possible.
Signed-off-by: Gavin Shan <shangw at linux.vnet.ibm.com>
---
arch/powerpc/platforms/powernv/opal.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index 628c564..cca78c9 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -18,6 +18,8 @@
#include <linux/slab.h>
#include <asm/opal.h>
#include <asm/firmware.h>
+#include <asm/io.h>
+#include <asm/eeh.h>
#include "powernv.h"
@@ -296,6 +298,10 @@ static irqreturn_t opal_interrupt(int irq, void *data)
uint64_t events;
opal_handle_interrupt(virq_to_hw(irq), &events);
+#ifdef CONFIG_EEH
+ if (events & OPAL_EVENT_PCI_ERROR)
+ pci_err_event();
+#endif
/* XXX TODO: Do something with the events */
--
1.7.5.4
More information about the Linuxppc-dev
mailing list