diff options
author | Haojian Zhuang <haojian.zhuang@linaro.org> | 2014-05-11 10:05:58 +0200 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-05-19 02:35:23 +0200 |
commit | b8802f76fe473d91886220498aeda157c492f2d1 (patch) | |
tree | 577ce870c39992ca6638ee3d3c0d66548a57db61 /drivers | |
parent | Linux 3.15-rc1 (diff) | |
download | linux-b8802f76fe473d91886220498aeda157c492f2d1.tar.xz linux-b8802f76fe473d91886220498aeda157c492f2d1.zip |
irqchip: gic: Use mask field in GICC_IAR
Bit[9:0] is interrupt ID field in GICC_IAR. Bit[12:10] is CPU ID field,
and others are reserved.
So we should use GICC_IAR_INT_ID_MASK to get interrupt ID. It's not a good way
to use ~0x1c00 (CPU ID field) to get interrupt ID.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Link: https://lkml.kernel.org/r/1399795571-17231-3-git-send-email-haojian.zhuang@linaro.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/irqchip/irq-gic.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 4300b6606f5e..f711fb6af7a9 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -287,7 +287,7 @@ static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) do { irqstat = readl_relaxed(cpu_base + GIC_CPU_INTACK); - irqnr = irqstat & ~0x1c00; + irqnr = irqstat & GICC_IAR_INT_ID_MASK; if (likely(irqnr > 15 && irqnr < 1021)) { irqnr = irq_find_mapping(gic->domain, irqnr); |