kernel_optimize_test/drivers/irqchip
Paul Burton 131735afc1 irqchip: mips-cpu: Prepare for non-legacy IRQ domains
The various struct irq_chip callbacks in the MIPS CPU interrupt
controller driver have been calculating the hardware interrupt number by
subtracting MIPS_CPU_IRQ_BASE from the virq number. This presumes a
linear mapping beginning from MIPS_CPU_IRQ_BASE, and this will not hold
once an IPI IRQ domain is introduced. Switch to using the hwirq field of
struct irq_data which already contains the hardware interrupt number
instead of attempting to calculate it.

Similarly, plat_irq_dispatch calculated the virq number by adding
MIPS_CPU_IRQ_BASE to the hardware interrupt number. Ready this for the
introduction of an IPI IRQ domain by instead using irq_linear_revmap.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15835/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-04-12 23:11:56 +02:00
..
alphascale_asm9260-icoll.h irqchip/mxs: Add Alphascale ASM9260 support 2015-10-14 09:37:47 +02:00
exynos-combiner.c irqchip/exynos-combiner: Fix usage of __raw IO 2016-06-23 18:26:42 +00:00
irq-alpine-msi.c irqchip/irq-alpine-msi: Don't use <asm-generic/msi.h> 2016-05-11 10:12:25 +01:00
irq-armada-370-xp.c irqchip/armada-xp: Consolidate hotplug state space 2016-12-25 10:47:44 +01:00
irq-aspeed-vic.c irqchip/aspeed-vic: Add irq controller for Aspeed 2016-06-22 18:44:54 +00:00
irq-ath79-cpu.c irqchip/ath79-cpu: Move the CPU IRQ driver from arch/mips/ath79/ 2016-02-17 13:47:19 +00:00
irq-ath79-misc.c irqchip/ath79-misc: Move the MISC driver from arch/mips/ath79/ 2016-02-17 13:44:31 +00:00
irq-atmel-aic-common.c irqchip/atmel-aic: Change return type of aic_common_set_priority() 2016-02-08 15:03:42 +01:00
irq-atmel-aic-common.h irqchip/atmel-aic: Change return type of aic_common_set_priority() 2016-02-08 15:03:42 +01:00
irq-atmel-aic.c irqchip/atmel-aic: Fix potential deadlock in ->xlate() 2016-09-13 16:57:40 +02:00
irq-atmel-aic5.c irqchip/atmel-aic: Fix potential deadlock in ->xlate() 2016-09-13 16:57:40 +02:00
irq-bcm2835.c irqchip: bcm2835: Avoid arch/arm-specific handle_IRQ 2016-06-04 14:16:59 +00:00
irq-bcm2836.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
irq-bcm6345-l1.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
irq-bcm7038-l1.c irqchip/bcm7038-l1: Implement irq_cpu_offline() callback 2016-11-18 14:17:22 +01:00
irq-bcm7120-l2.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
irq-brcmstb-l2.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
irq-clps711x.c irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip 2016-07-06 17:38:15 +02:00
irq-crossbar.c irqchip/irqdomain updates for 4.11-rc2 2017-03-09 12:06:41 +01:00
irq-digicolor.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-dw-apb-ictl.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-eznps.c irqchip/eznps: Drop pointless static qualifier in nps400_of_init() 2016-10-19 14:24:36 +02:00
irq-gemini.c irqchip: Add a driver for Cortina Gemini 2017-02-08 14:07:27 +00:00
irq-gic-common.c irqchip/gic: Prepare for adding platform driver 2016-06-13 11:53:52 +01:00
irq-gic-common.h irqchip/gic-v2: Parse and export virtual GIC information 2016-05-03 12:54:21 +02:00
irq-gic-pm.c irqchip/gic-pm: Update driver to use of_pm_clk_add_clk 2016-09-12 19:46:28 +01:00
irq-gic-realview.c irqchip/gic/realview: Support more RealView DCC variants 2016-03-09 09:38:05 +00:00
irq-gic-v2m.c iommu/dma: Add support for mapping MSIs 2016-09-16 09:34:22 +01:00
irq-gic-v3-its-pci-msi.c irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization 2016-09-12 20:32:43 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its: Parse new version of msi-parent property 2015-10-16 13:07:15 +01:00
irq-gic-v3-its.c irqchip/gicv3-its: Add workaround for QDF2400 ITS erratum 0065 2017-03-07 14:34:27 +00:00
irq-gic-v3.c irqchip/gic: Consolidate hotplug state space 2016-12-25 10:47:44 +01:00
irq-gic.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
irq-hip04.c cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
irq-i8259.c irqchip: i8259: Remove unused i8259A_irq_pending 2016-10-06 17:31:00 +02:00
irq-imgpdc.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-imx-gpcv2.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-ingenic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-jcore-aic.c irqchip/jcore: Fix lost per-cpu interrupts 2016-10-14 14:26:55 +02:00
irq-keystone.c irqchip/keystone: Fix "scheduling while atomic" on rt 2016-12-31 18:41:45 +00:00
irq-lpc32xx.c irqchip: Add LPC32xx interrupt controller driver 2016-05-11 10:12:11 +01:00
irq-ls-scfg-msi.c irqchip: Add Layerscape SCFG MSI controller support 2016-05-04 09:58:04 +01:00
irq-mbigen.c irqchip/mbigen: Checking for IS_ERR() instead of NULL 2016-05-11 10:12:13 +01:00
irq-metag-ext.c irqchip/metag-ext: Improve function-level documentation 2016-10-05 11:53:35 +02:00
irq-metag.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-mips-cpu.c irqchip: mips-cpu: Prepare for non-legacy IRQ domains 2017-04-12 23:11:56 +02:00
irq-mips-gic.c irqchip/mips-gic: Fix Local compare interrupt 2017-03-31 14:38:25 +01:00
irq-mmp.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-moxart.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-mtk-sysirq.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-mvebu-odmi.c irqchip/gic: Return IRQ_SET_MASK_OK_DONE in the set_affinity method 2016-02-19 15:42:29 +00:00
irq-mvebu-pic.c irqchip/mvebu-pic: New driver for Marvell Armada 7K/8K PIC 2016-08-22 22:58:27 +00:00
irq-mxs.c irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND 2016-12-31 19:06:44 +00:00
irq-nvic.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-omap-intc.c irqchip/omap-intc: Fix missing <linux/irqchip/irq-omap-intc.h> include 2016-06-13 00:57:23 +00:00
irq-or1k-pic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-orion.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-partition-percpu.c irqchip: Add per-cpu interrupt partitioning library 2016-05-02 13:42:51 +02:00
irq-pic32-evic.c irqchip/irq-pic32-evic: Fix bug with external interrupts. 2016-06-02 18:03:50 +01:00
irq-renesas-h8s.c irqchip: renesas-h8s: Replace ctrl_outw/ctrl_inw with writew/readw 2016-01-20 22:44:13 +09:00
irq-renesas-h8300h.c h8300: Rename ctlr_out/in[bwl] to raw_read/write[bwl] 2015-12-15 10:12:03 +01:00
irq-renesas-intc-irqpin.c irqchip/renesas-intc-irqpin: Improve clock error handling and reporting 2015-11-24 16:54:19 +00:00
irq-renesas-irqc.c irqchip/renesas-irqc: Move over to nested generic chip 2015-09-29 20:41:00 +02:00
irq-s3c24xx.c irqchip/s3c24xx: Fixup IO accessors for big endian 2016-06-23 18:28:00 +00:00
irq-sa11x0.c ARM: kill off set_irq_flags usage 2015-07-28 13:58:13 +02:00
irq-sirfsoc.c irqchip/sirfsoc: Fix sparse warnings on __iomem 2016-06-13 00:48:31 +00:00
irq-st.c irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused 2016-12-19 10:55:43 +01:00
irq-stm32-exti.c drivers/irqchip: Add STM32 external interrupts support 2016-09-21 14:13:21 +02:00
irq-sun4i.c irqchip/sun4i: Fix compilation outside of arch/arm 2016-02-02 15:46:40 +01:00
irq-sunxi-nmi.c irqchip/sunxi-nmi: Fix error check of of_io_request_and_map() 2016-03-10 16:03:30 +01:00
irq-tango.c irqchip/tango: Add support for Sigma Designs SMP86xx/SMP87xx interrupt controller 2016-02-18 01:18:14 +00:00
irq-tb10x.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
irq-tegra.c irqchip/tegra: Fix sparse warnings on __iomem 2016-06-13 00:49:39 +00:00
irq-ts4800.c irqchip/ts4800: Make ts4800_ic_ops static const 2016-02-18 02:09:18 +00:00
irq-versatile-fpga.c irqchip: versatile-fpga: add new compatible for OX810SE SoC 2016-04-26 09:50:51 +02:00
irq-vf610-mscm-ir.c irqchip: Convert all alloc/xlate users from of_node to fwnode 2015-10-13 19:01:23 +02:00
irq-vic.c irqchip/vic: Improve function-level documentation 2016-10-05 11:53:35 +02:00
irq-vt8500.c irqchip: Kill off set_irq_flags usage 2015-09-16 16:53:38 +02:00
irq-xilinx-intc.c powerpc/virtex: Use generic xilinx irqchip driver 2016-11-29 09:14:50 +00:00
irq-xtensa-mx.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-xtensa-pic.c irqchip: Prepare for local stub header removal 2015-07-11 23:14:23 +02:00
irq-zevio.c irqchip/zevio: Use irq_data_get_chip_type() helper 2015-12-30 18:29:02 +01:00
irqchip.c irqchip / GIC: Convert the GIC driver to ACPI probing 2015-10-01 02:18:38 +02:00
Kconfig irqchip/mvebu-odmi: Select GENERIC_MSI_IRQ_DOMAIN 2017-03-14 13:52:32 +00:00
Makefile irqchip: Add a driver for Cortina Gemini 2017-02-08 14:07:27 +00:00
qcom-irq-combiner.c irqchip/qcom: Fix error handling 2017-02-19 08:17:25 +01:00
spear-shirq.c remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00