linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/12] Consolidating GIC per-cpu interrupts
@ 2011-04-20 19:08 Marc Zyngier
  2011-04-20 19:08 ` [RFC PATCH 01/12] ARM: gic: add per-cpu interrupt multiplexer Marc Zyngier
                   ` (11 more replies)
  0 siblings, 12 replies; 32+ messages in thread
From: Marc Zyngier @ 2011-04-20 19:08 UTC (permalink / raw)
  To: linux-arm-kernel

The current GIC per-cpu interrupt (aka PPIs) suffers from a number of
problems:

- It uses a completely separate scheme to handle the interrupts,
  mostly because the PPI concept doesn't really match the kernel view
  of an interrupt.
- Some low-level code gets duplicated, as usual...
- At least one platform (msm) has started implementing its own
  alternative scheme.

The proposed solution is to let the GIC code expose the PPIs as
something that the kernel can manage. Instead of having a single
interrupt number shared on all cores, make the interrupt number be
different on each CPU.

This enables the use of the normal kernel API (request_irq() and
friends) and the elimination of some low level code.

This patch set is based on 2.6.39-rc4, and depends on Will Deacon's
GIC fasteoi patches. Tested on VExpress, PB-11MP, Pandaboard and
SMDK-S5PV310.

Marc Zyngier (12):
  ARM: gic: add per-cpu interrupt multiplexer
  ARM: smp_twd: add support for remapped PPI interrupts
  ARM: omap4: use remapped PPI interrupts for local timer
  ARM: versatile: use remapped PPI interrupts for local timer
  ARM: shmobile: use remapped PPI interrupts for local timer
  ARM: ux500: use remapped PPI interrupts for local timer
  ARM: tegra: use remapped PPI interrupts for local timer
  ARM: msm: use remapped PPI interrupts for local timer
  ARM: exynos4: use remapped PPI interrupts for local timer
  ARM: gic: remove previous local timer interrupt handling
  ARM: gic: add compute_irqnr macro for exynos4
  ARM: SMP: automatically select ARM_GIC_VPPI

 arch/arm/Kconfig                                  |    1 +
 arch/arm/common/Kconfig                           |    5 +
 arch/arm/common/gic.c                             |  144 ++++++++++++++++++--
 arch/arm/include/asm/entry-macro-multi.S          |    7 -
 arch/arm/include/asm/hardware/entry-macro-gic.S   |   31 ++---
 arch/arm/include/asm/hardware/gic.h               |   12 ++-
 arch/arm/include/asm/localtimer.h                 |    7 +-
 arch/arm/kernel/irq.c                             |    8 +-
 arch/arm/kernel/smp.c                             |    9 +-
 arch/arm/kernel/smp_twd.c                         |   15 ++-
 arch/arm/mach-exynos4/include/mach/entry-macro.S  |   70 +---------
 arch/arm/mach-exynos4/localtimer.c                |    3 +-
 arch/arm/mach-msm/include/mach/entry-macro-qgic.S |   73 +----------
 arch/arm/mach-msm/timer.c                         |   38 +++---
 arch/arm/mach-omap2/include/mach/entry-macro.S    |   14 +--
 arch/arm/mach-omap2/timer-mpu.c                   |    3 +-
 arch/arm/mach-shmobile/entry-intc.S               |    3 -
 arch/arm/mach-shmobile/include/mach/entry-macro.S |    3 -
 arch/arm/mach-shmobile/localtimer.c               |    3 +-
 arch/arm/mach-tegra/localtimer.c                  |    3 +-
 arch/arm/mach-ux500/localtimer.c                  |    3 +-
 arch/arm/plat-versatile/localtimer.c              |    3 +-
 22 files changed, 223 insertions(+), 235 deletions(-)

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2011-05-05  1:17 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-20 19:08 [RFC PATCH 00/12] Consolidating GIC per-cpu interrupts Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 01/12] ARM: gic: add per-cpu interrupt multiplexer Marc Zyngier
2011-04-25 20:17   ` Abhijeet Dharmapurikar
2011-04-26  9:08     ` Marc Zyngier
2011-04-26  4:00   ` Stephen Boyd
2011-04-26  9:12     ` Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 02/12] ARM: smp_twd: add support for remapped PPI interrupts Marc Zyngier
2011-04-25 17:04   ` Stephen Boyd
2011-04-26  9:05     ` Marc Zyngier
2011-04-26 16:21       ` Stephen Boyd
2011-04-26 16:53         ` Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 03/12] ARM: omap4: use remapped PPI interrupts for local timer Marc Zyngier
2011-04-29  7:24   ` Santosh Shilimkar
2011-05-03 16:18     ` Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 04/12] ARM: versatile: " Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 05/12] ARM: shmobile: " Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 06/12] ARM: ux500: " Marc Zyngier
2011-04-21  8:44   ` Srinidhi KASAGAR
2011-04-21  8:53     ` Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 07/12] ARM: tegra: " Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 08/12] ARM: msm: " Marc Zyngier
2011-04-26 17:13   ` Stephen Boyd
2011-05-03 16:15     ` Marc Zyngier
2011-05-03 17:38       ` Stephen Boyd
2011-05-03 19:04     ` Russell King - ARM Linux
2011-05-04  5:47       ` Stephen Boyd
2011-05-04 18:45         ` Jeff Ohlstein
2011-05-05  1:17           ` Stephen Boyd
2011-04-20 19:08 ` [RFC PATCH 09/12] ARM: exynos4: " Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 10/12] ARM: gic: remove previous local timer interrupt handling Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 11/12] ARM: gic: add compute_irqnr macro for exynos4 Marc Zyngier
2011-04-20 19:08 ` [RFC PATCH 12/12] ARM: SMP: automatically select ARM_GIC_VPPI Marc Zyngier

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).