Message ID | 1362147440-14096-23-git-send-email-shangw@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Michael Ellerman |
Headers | show |
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c index aaa0dba..8aa99de 100644 --- a/arch/powerpc/platforms/powernv/opal.c +++ b/arch/powerpc/platforms/powernv/opal.c @@ -17,6 +17,8 @@ #include <linux/interrupt.h> #include <asm/opal.h> #include <asm/firmware.h> +#include <asm/io.h> +#include <asm/eeh.h> #include "powernv.h" @@ -271,6 +273,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 */
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@linux.vnet.ibm.com> --- arch/powerpc/platforms/powernv/opal.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)