All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v9 0/4] Consolidating GIC per-cpu interrupts
Date: Thu, 21 Jul 2011 17:57:24 +0100	[thread overview]
Message-ID: <1311267448-14652-1-git-send-email-marc.zyngier@arm.com> (raw)

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

- They use a completely separate scheme to handle the interrupts,
  mostly because the PPI concept doesn't really match the kernel view
  of an interrupt.
- PPIs can only be used by the timer code, unless we add more low-level
  assembly code.
- The local timer code can only be used by devices generating PPIs,
  and not SPIs.
- At least one platform (msm) has started implementing its own
  alternative scheme.
- Some low-level code gets duplicated, as usual...

As the previous solution which tried to map PPIs to normal interrupts
has been proved to be buggy, I've opted to a much simpler scheme
(based on Russell's input).

The proposed solution is to handle the interrupt using the same path
as SPIs, with a common handler for all PPIs. Each PPI can be requested
using gic_request_ppi(), similar to request_irq(). The local timer
code is updated to reflect these changes.

Patches against next-20110721, tested on PB11MP. As this patch series
is quite different from the previous one, I've dropped all previous
acks from platform maintainers.

Marc Zyngier (4):
  ARM: gic: consolidate PPI handling
  ARM: gic: Add PPI registration interface
  ARM: local timers: drop local_timer_ack()
  ARM: gic: add compute_irqnr macro for exynos4

 arch/arm/common/gic.c                             |  150 +++++++++++++++++++--
 arch/arm/include/asm/entry-macro-multi.S          |    7 -
 arch/arm/include/asm/hardirq.h                    |    3 -
 arch/arm/include/asm/hardware/entry-macro-gic.S   |   22 +---
 arch/arm/include/asm/hardware/gic.h               |    5 +-
 arch/arm/include/asm/localtimer.h                 |   14 +-
 arch/arm/include/asm/smp.h                        |    5 -
 arch/arm/include/asm/smp_twd.h                    |    2 +-
 arch/arm/kernel/irq.c                             |    3 -
 arch/arm/kernel/smp.c                             |   33 +-----
 arch/arm/kernel/smp_twd.c                         |   32 +++--
 arch/arm/mach-exynos4/include/mach/entry-macro.S  |   61 +--------
 arch/arm/mach-exynos4/mct.c                       |    6 -
 arch/arm/mach-msm/board-msm8x60.c                 |   11 --
 arch/arm/mach-msm/include/mach/entry-macro-qgic.S |   73 +----------
 arch/arm/mach-msm/timer.c                         |   52 +++----
 arch/arm/mach-omap2/include/mach/entry-macro.S    |   14 +--
 arch/arm/mach-shmobile/entry-intc.S               |    3 -
 arch/arm/mach-shmobile/include/mach/entry-macro.S |    3 -
 19 files changed, 208 insertions(+), 291 deletions(-)

             reply	other threads:[~2011-07-21 16:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-21 16:57 Marc Zyngier [this message]
2011-07-21 16:57 ` [RFC PATCH v9 1/4] ARM: gic: consolidate PPI handling Marc Zyngier
2011-07-22  9:42   ` Russell King - ARM Linux
2011-07-22 10:01     ` Marc Zyngier
2011-07-21 16:57 ` [RFC PATCH v9 2/4] ARM: gic: Add PPI registration interface Marc Zyngier
2011-07-22  0:21   ` Jeff Ohlstein
2011-07-22  9:30     ` Marc Zyngier
2011-07-21 16:57 ` [RFC PATCH v9 3/4] ARM: local timers: drop local_timer_ack() Marc Zyngier
2011-07-21 16:57 ` [RFC PATCH v9 4/4] ARM: gic: add compute_irqnr macro for exynos4 Marc Zyngier
2011-07-28  6:34 ` [RFC PATCH v9 0/4] Consolidating GIC per-cpu interrupts Stephen Boyd
2011-08-01  8:20   ` 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=1311267448-14652-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.