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

Commit 23c2a929 authored by Channagoud Kadabi's avatar Channagoud Kadabi Committed by Elliot Berman
Browse files

ARM: gic-v3: Log the IRQs in RTB before handling an IRQ



Gic-v3 did not log IRQs in RTB like gic-v2. Thus add the LOGK_IRQ
logbefore calling the IRQ handler like gic-v2.

eberman@codeaurora.org: resolved trivial merge conflicts.

Change-Id: I46a5951e733a05b9a7d5d6323568fa800dfb5d62
Signed-off-by: default avatarChannagoud Kadabi <ckadabi@codeaurora.org>
Signed-off-by: default avatarElliot Berman <eberman@codeaurora.org>
parent e99d7055
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#include <linux/percpu.h>
#include <linux/refcount.h>
#include <linux/slab.h>
#include <linux/msm_rtb.h>

#include <linux/irqchip.h>
#include <linux/irqchip/arm-gic-common.h>
@@ -493,9 +494,11 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
		gic_arch_enable_irqs();
	}


	if (likely(irqnr > 15 && irqnr < 1020) || irqnr >= 8192) {
		int err;

		uncached_logk(LOGK_IRQ, (void *)(uintptr_t)irqnr);
		if (static_branch_likely(&supports_deactivate_key))
			gic_write_eoir(irqnr);
		else
@@ -509,6 +512,7 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs
		return;
	}
	if (irqnr < 16) {
		uncached_logk(LOGK_IRQ, (void *)(uintptr_t)irqnr);
		gic_write_eoir(irqnr);
		if (static_branch_likely(&supports_deactivate_key))
			gic_write_dir(irqnr);