Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2931ae16 authored by Subbaraman Narayanamurthy's avatar Subbaraman Narayanamurthy
Browse files

ARM: gic: Add support for logging interrupts in RTB



To help with the debug of interrupt storms and problems during IRQ
handling, log the IRQ number in RTB for each interrupt that fires.

Change-Id: Icea5ded0f7d66ba3c7608793e7c25218e2a64e0c
Signed-off-by: default avatarSubbaraman Narayanamurthy <subbaram@codeaurora.org>
parent 1559d923
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@
#include <linux/irqchip/chained_irq.h>
#include <linux/irqchip/arm-gic.h>
#include <linux/syscore_ops.h>
#include <linux/msm_rtb.h>

#include <asm/irq.h>
#include <asm/exception.h>
@@ -444,6 +445,7 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
		if (likely(irqnr > 15 && irqnr < 1021)) {
			irqnr = irq_find_mapping(gic->domain, irqnr);
			handle_IRQ(irqnr, regs);
			uncached_logk(LOGK_IRQ, (void *)(uintptr_t)irqnr);
			continue;
		}
		if (irqnr < 16) {
@@ -451,6 +453,7 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
#ifdef CONFIG_SMP
			handle_IPI(irqnr, regs);
#endif
			uncached_logk(LOGK_IRQ, (void *)(uintptr_t)irqnr);
			continue;
		}
		break;
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ enum logk_event_type {
	LOGK_TIMESTAMP = 6,
	LOGK_L2CPREAD = 7,
	LOGK_L2CPWRITE = 8,
	LOGK_IRQ = 9,
};

#define LOGTYPE_NOPC 0x80