WSL2-Linux-Kernel/drivers/irqchip
James Hogan ae58d882bf MIPS: cevt-r4k: Drop GIC special case
The cevt-r4k driver used to call into the GIC driver to find whether the
timer was pending, but only with External Interrupt Controller (EIC)
mode, where the Cause.IP bits can't be used as they encode the interrupt
priority level (Cause.RIPL) instead.

However commit e9de688dac ("irqchip: mips-gic: Support local
interrupts") changed the condition from cpu_has_veic to gic_present.
This fails on cores such as P5600 which have a GIC but the local
interrupts aren't routable by the GIC, causing c0_compare_int_usable()
to consider the interrupt unusable so r4k_clockevent_init() fails.

The previous behaviour, added in commit 98b67c37db ("MIPS: Add EIC
support for GIC."), wasn't really correct either as far as I can tell,
since P5600 apparently supports EIC mode too, and in any case the use of
Cause.TI with r2 should have been sufficient anyway since commit
010c108d7a ("MIPS: PowerTV: Fix support for timer interrupts with > 64
external IRQs").

Therefore drop the call into the gic driver altogether, and add a
comment in c0_compare_int_pending() to clarify that Cause.TI does get
checked since MIPS r2.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Fixes: e9de688dac ("irqchip: mips-gic: Support local interrupts")
Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Steven J. Hill <steven.hill@imgtec.com>
Cc: Qais Yousef <qais.yousef@imgtec.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9077/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2015-02-05 14:56:53 +01:00
..
Kconfig Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
Makefile Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
exynos-combiner.c irqchip: exynos-combiner: Fix compilation error on ARM64 2014-09-03 11:56:39 +00:00
irq-armada-370-xp.c Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
irq-atmel-aic-common.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:38:57 -08:00
irq-atmel-aic-common.h irqchip: atmel-aic: Add irq fixup for RTT block 2014-11-09 04:36:38 +00:00
irq-atmel-aic.c Merge branch 'irqchip/atmel' into irqchip/core 2014-11-26 07:02:27 +00:00
irq-atmel-aic5.c genirq: Generic chip: Change irq_reg_{readl,writel} arguments 2014-11-09 04:01:22 +00:00
irq-bcm2835.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-bcm7120-l2.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:38:57 -08:00
irq-brcmstb-l2.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:38:57 -08:00
irq-clps711x.c irqchip: clps711x: Convert to handle_domain_irq 2014-09-03 13:10:32 +00:00
irq-crossbar.c irqchip: crossbar: Off by one bugs in init 2014-08-18 11:48:11 +00:00
irq-dw-apb-ictl.c irqchip: dw-apb-ictl: Add PM support 2014-11-26 16:08:03 +00:00
irq-gic-common.c irqchip: gic: Replace hex numbers with defines. 2014-08-19 15:07:46 +00:00
irq-gic-common.h irqchip: gic: Move some bits of GICv2 to a library-type file 2014-07-08 21:49:14 +00:00
irq-gic-v2m.c irqchip: gic-v2m: Add support for ARM GICv2m MSI(-X) doorbell 2014-11-26 15:55:18 +00:00
irq-gic-v3-its.c irqchip: gicv3-its: Fix ITT allocation 2014-12-13 13:41:06 +01:00
irq-gic-v3.c irqchip: GICv3: ITS: plug ITS init into main GICv3 code 2014-11-26 15:55:15 +00:00
irq-gic.c Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
irq-hip04.c irqchip: hip04: Convert to handle_domain_irq 2014-11-02 01:58:40 +00:00
irq-imgpdc.c irq-imgpdc: add ImgTec PDC irqchip driver 2013-08-21 14:17:56 +01:00
irq-keystone.c irqchip: drop owner assignment from platform_drivers 2014-10-20 16:20:42 +02:00
irq-metag-ext.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-metag.c irq-metag*: stop set_affinity vectoring to offline cpus 2014-02-25 22:35:06 +00:00
irq-mips-gic.c MIPS: cevt-r4k: Drop GIC special case 2015-02-05 14:56:53 +01:00
irq-mmp.c irqchip: mmp: Convert to handle_domain_irq 2014-09-03 13:10:34 +00:00
irq-moxart.c irqchip: Remove asmlinkage from static functions 2014-03-12 13:00:41 +01:00
irq-mtk-sysirq.c irqchip: mtk-sysirq: Add sysirq interrupt polarity support 2014-11-26 15:55:17 +00:00
irq-mxs.c irqchip: mxs: Convert to handle_domain_irq 2014-09-03 13:10:35 +00:00
irq-nvic.c irqchip: nvic: Use the generic noop function 2014-06-21 02:12:42 +00:00
irq-omap-intc.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:42:04 -04:00
irq-or1k-pic.c irqchip: or1k-pic: Convert to handle_domain_irq 2014-09-03 13:10:54 +00:00
irq-orion.c irqchip: orion: Convert to handle_domain_irq 2014-09-03 13:10:37 +00:00
irq-renesas-intc-irqpin.c irqchip: drop owner assignment from platform_drivers 2014-10-20 16:20:42 +02:00
irq-renesas-irqc.c irqchip: drop owner assignment from platform_drivers 2014-10-20 16:20:42 +02:00
irq-s3c24xx.c irqchip: s3c24xx: Convert to handle_domain_irq 2014-09-03 13:10:38 +00:00
irq-sirfsoc.c irqchip: sirfsoc: Convert to handle_domain_irq 2014-09-03 13:10:40 +00:00
irq-sun4i.c irqchip: sun4i: Convert to handle_domain_irq 2014-09-03 13:10:42 +00:00
irq-sunxi-nmi.c genirq: Generic chip: Change irq_reg_{readl,writel} arguments 2014-11-09 04:01:22 +00:00
irq-tb10x.c genirq: Generic chip: Change irq_reg_{readl,writel} arguments 2014-11-09 04:01:22 +00:00
irq-versatile-fpga.c irqchip: versatile-fpga: Convert to handle_domain_irq 2014-09-03 13:10:43 +00:00
irq-vic.c irqchip: vic: Convert to handle_domain_irq 2014-09-03 13:10:45 +00:00
irq-vt8500.c irqchip: vt8500: Convert to handle_domain_irq 2014-09-03 13:10:46 +00:00
irq-xtensa-mx.c irqchip: xtensa: Select only an online cpu 2014-03-04 17:37:55 +01:00
irq-xtensa-pic.c xtensa: move built-in PIC to drivers/irqchip 2014-01-14 10:19:56 -08:00
irq-zevio.c irqchip: zevio: Convert to handle_domain_irq 2014-09-03 13:10:48 +00:00
irqchip.c irqchip: align irqchip OF match table section naming 2014-05-20 14:24:40 -05:00
irqchip.h of: consolidate linker section OF match table declarations 2014-05-20 14:25:24 -05:00
spear-shirq.c irqchip: spear_shirq: Simplify register access code 2014-06-24 12:38:45 +00:00