From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 00/14] Switch GIC users (and omap2plus) to CONFIG_MULTI_IRQ_HANDLER
Date: Fri, 23 Sep 2011 17:51:18 +0100 [thread overview]
Message-ID: <1316796692-15964-1-git-send-email-marc.zyngier@arm.com> (raw)
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-2011 plus my PPI series.
Marc Zyngier (14):
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
arch/arm/Kconfig | 2 +
arch/arm/common/Kconfig | 1 +
arch/arm/common/gic.c | 49 +++++++-
arch/arm/include/asm/hardware/entry-macro-gic.S | 60 ---------
arch/arm/include/asm/hardware/gic.h | 3 +-
arch/arm/mach-cns3xxx/cns3420vb.c | 2 +
arch/arm/mach-cns3xxx/include/mach/entry-macro.S | 2 -
arch/arm/mach-exynos4/include/mach/entry-macro.S | 62 ---------
arch/arm/mach-exynos4/mach-armlex4210.c | 2 +
arch/arm/mach-exynos4/mach-nuri.c | 2 +
arch/arm/mach-exynos4/mach-origen.c | 2 +
arch/arm/mach-exynos4/mach-smdk4212.c | 2 +
arch/arm/mach-exynos4/mach-smdkv310.c | 2 +
arch/arm/mach-exynos4/mach-universal_c210.c | 2 +
arch/arm/mach-msm/board-msm8960.c | 2 +
arch/arm/mach-msm/board-msm8x60.c | 4 +
arch/arm/mach-msm/include/mach/entry-macro-qgic.S | 17 ---
arch/arm/mach-msm/include/mach/entry-macro-vic.S | 37 ------
arch/arm/mach-msm/include/mach/entry-macro.S | 27 ++++-
arch/arm/mach-omap2/Kconfig | 2 +
arch/arm/mach-omap2/board-2430sdp.c | 1 +
arch/arm/mach-omap2/board-3430sdp.c | 1 +
arch/arm/mach-omap2/board-3630sdp.c | 1 +
arch/arm/mach-omap2/board-4430sdp.c | 2 +
arch/arm/mach-omap2/board-am3517crane.c | 1 +
arch/arm/mach-omap2/board-am3517evm.c | 1 +
arch/arm/mach-omap2/board-apollon.c | 1 +
arch/arm/mach-omap2/board-cm-t35.c | 2 +
arch/arm/mach-omap2/board-cm-t3517.c | 1 +
arch/arm/mach-omap2/board-devkit8000.c | 1 +
arch/arm/mach-omap2/board-generic.c | 1 +
arch/arm/mach-omap2/board-h4.c | 1 +
arch/arm/mach-omap2/board-igep0020.c | 2 +
arch/arm/mach-omap2/board-ldp.c | 1 +
arch/arm/mach-omap2/board-n8x0.c | 3 +
arch/arm/mach-omap2/board-omap3beagle.c | 1 +
arch/arm/mach-omap2/board-omap3evm.c | 1 +
arch/arm/mach-omap2/board-omap3logic.c | 2 +
arch/arm/mach-omap2/board-omap3pandora.c | 1 +
arch/arm/mach-omap2/board-omap3stalker.c | 1 +
arch/arm/mach-omap2/board-omap3touchbook.c | 1 +
arch/arm/mach-omap2/board-omap4panda.c | 2 +
arch/arm/mach-omap2/board-overo.c | 1 +
arch/arm/mach-omap2/board-rm680.c | 1 +
arch/arm/mach-omap2/board-rx51.c | 1 +
arch/arm/mach-omap2/board-zoom.c | 2 +
arch/arm/mach-omap2/include/mach/entry-macro.S | 137 ---------------------
arch/arm/mach-omap2/irq.c | 49 ++++++++
arch/arm/mach-realview/include/mach/entry-macro.S | 2 -
arch/arm/mach-realview/realview_eb.c | 1 +
arch/arm/mach-realview/realview_pb1176.c | 1 +
arch/arm/mach-realview/realview_pb11mp.c | 1 +
arch/arm/mach-realview/realview_pba8.c | 1 +
arch/arm/mach-realview/realview_pbx.c | 1 +
arch/arm/mach-shmobile/Makefile | 1 -
arch/arm/mach-shmobile/board-ag5evm.c | 2 +-
arch/arm/mach-shmobile/entry-gic.S | 18 ---
arch/arm/mach-shmobile/include/mach/common.h | 1 -
arch/arm/mach-tegra/board-dt.c | 2 +
arch/arm/mach-tegra/board-harmony.c | 2 +
arch/arm/mach-tegra/board-paz00.c | 2 +
arch/arm/mach-tegra/board-seaboard.c | 4 +
arch/arm/mach-tegra/board-trimslice.c | 2 +
arch/arm/mach-tegra/include/mach/entry-macro.S | 22 +---
arch/arm/mach-ux500/board-mop500.c | 4 +
arch/arm/mach-ux500/board-u5500.c | 2 +
arch/arm/mach-ux500/include/mach/entry-macro.S | 2 -
arch/arm/mach-vexpress/include/mach/entry-macro.S | 2 -
arch/arm/mach-vexpress/v2m.c | 2 +
arch/arm/mach-zynq/common.c | 1 +
arch/arm/mach-zynq/include/mach/entry-macro.S | 3 -
arch/arm/plat-omap/include/plat/irqs.h | 2 +
72 files changed, 212 insertions(+), 371 deletions(-)
delete mode 100644 arch/arm/include/asm/hardware/entry-macro-gic.S
delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro-qgic.S
delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro-vic.S
delete mode 100644 arch/arm/mach-shmobile/entry-gic.S
next reply other threads:[~2011-09-23 16:51 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-23 16:51 Marc Zyngier [this message]
2011-09-23 16:51 ` [RFC PATCH 01/14] ARM: GIC: Add global gic_handle_irq() function Marc Zyngier
2011-09-23 20:18 ` Russell King - ARM Linux
2011-09-26 10:40 ` Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 02/14] ARM: RealView: convert to CONFIG_MULTI_IRQ_HANDLER Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 03/14] ARM: VExpress: " Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 04/14] ARM: msm: convert SMP platforms " Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 05/14] ARM: GIC: Add global gic_handle_irq_offset() function Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 06/14] ARM: exynos4: convert to CONFIG_MULTI_IRQ_HANDLER Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 07/14] ARM: tegra2: " Marc Zyngier
2011-09-23 17:28 ` Stephen Warren
2011-09-23 16:51 ` [RFC PATCH 08/14] ARM: ux500: " Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 09/14] ARM: shmobile: convert smp platforms to gic_handle_irq() Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 10/14] ARM: cns3xxx: convert to CONFIG_MULTI_IRQ_HANDLER Marc Zyngier
2011-09-26 13:15 ` Anton Vorontsov
2011-09-23 16:51 ` [RFC PATCH 11/14] ARM: zynq: " Marc Zyngier
2011-09-23 20:53 ` John Linn
2011-09-23 16:51 ` [RFC PATCH 12/14] ARM: omap2/3: Add global omap2/3_intc_handle_irq() functions Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 13/14] ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLER Marc Zyngier
2011-09-23 16:51 ` [RFC PATCH 14/14] ARM: GIC: Make MULTI_IRQ_HANDLER mandatory Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1316796692-15964-1-git-send-email-marc.zyngier@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).