[PATCH v2 00/16] Switch GIC users (and omap2plus) to CONFIG_MULTI_IRQ_HANDLER
Shawn Guo
shawn.guo at freescale.com
Tue Sep 27 06:20:39 EDT 2011
On Mon, Sep 26, 2011 at 12:02:19PM +0100, Marc Zyngier wrote:
> In order to support multiple primary interrupt controllers in the same
> image, it is necessary to use the MULTI_IRQ_HANDLER config option.
>
> This patch series makes a first step in that direction by:
> - having the GIC code to provides a global handler,
> - make GIC users to provide this handler from their machine descriptor.
>
> A side effect of this is that it forces OMAP2/3 platforms to be
> converted too in order to preserve the MULTI_OMAP feature. This leads
> to a certain simplification of the interrupt handling for the
> OMAP2/3/4 platforms.
>
> The primary IRQ handlers have been written in C, and the performance
> degradation is hardly noticeable. Should some tests reveal a major
> increase in latency, it is always possible to restore the ASM version.
>
> This series has been tested on VE (A9, A5, A15), PB11MP, Panda, IGEPv2
> and Harmony. Patches against next-20110926 plus my PPI series.
>
> From v1:
> - Add forgotten patch to make global handler and MULTI_IRQ_HANDLER
> mutually exclusive.
> - Introduce handle_IPI(), which is similar to do_IP() and callable
> from C code.
>
> Marc Zyngier (16):
> ARM: Make global handler and CONFIG_MULTI_IRQ_HANDLER mutually
> exclusive
> ARM: smp: Add an IPI handler callable from C code
> ARM: GIC: Add global gic_handle_irq() function
> ARM: RealView: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: VExpress: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: msm: convert SMP platforms to CONFIG_MULTI_IRQ_HANDLER
> ARM: GIC: Add global gic_handle_irq_offset() function
> ARM: exynos4: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: tegra2: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: ux500: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: shmobile: convert smp platforms to gic_handle_irq()
> ARM: cns3xxx: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: zynq: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: omap2/3: Add global omap2/3_intc_handle_irq() functions
> ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLER
> ARM: GIC: Make MULTI_IRQ_HANDLER mandatory
>
On imx6q:
Tested-by: Shawn Guo <shawn.guo at linaro.org>
--
Regards,
Shawn
More information about the linux-arm-kernel
mailing list