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: [PATCH v6 10/14] ARM: exynos4: use remapped PPI interrupts for local timer
Date: Fri,  3 Jun 2011 15:15:54 +0100	[thread overview]
Message-ID: <1307110558-29710-11-git-send-email-marc.zyngier@arm.com> (raw)
In-Reply-To: <1307110558-29710-1-git-send-email-marc.zyngier@arm.com>

Use the normal interrupt scheme for the local timers by using
a remapped PPI interrupt.

Tested on a SMDK-S5PV310 board.

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
 arch/arm/mach-exynos4/include/mach/entry-macro.S |   12 +-----------
 arch/arm/mach-exynos4/localtimer.c               |    3 ++-
 arch/arm/plat-s5p/Kconfig                        |    1 +
 3 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-exynos4/include/mach/entry-macro.S b/arch/arm/mach-exynos4/include/mach/entry-macro.S
index d8f38c2..f007168 100644
--- a/arch/arm/mach-exynos4/include/mach/entry-macro.S
+++ b/arch/arm/mach-exynos4/include/mach/entry-macro.S
@@ -50,7 +50,7 @@
 
 		bic     \irqnr, \irqstat, #0x1c00
 
-		cmp     \irqnr, #29
+		cmp     \irqnr, #15
 		cmpcc	\irqnr, \irqnr
 		cmpne	\irqnr, \tmp
 		cmpcs	\irqnr, \irqnr
@@ -72,13 +72,3 @@
 		cmpcs	\irqnr, \irqnr
 		.endm
 
-		/* As above, this assumes that irqstat and base are preserved.. */
-
-		.macro test_for_ltirq, irqnr, irqstat, base, tmp
-		bic	\irqnr, \irqstat, #0x1c00
-		mov	\tmp, #0
-		cmp	\irqnr, #29
-		moveq	\tmp, #1
-		streq	\irqstat, [\base, #GIC_CPU_EOI]
-		cmp	\tmp, #0
-		.endm
diff --git a/arch/arm/mach-exynos4/localtimer.c b/arch/arm/mach-exynos4/localtimer.c
index 6bf3d0a..315de6f 100644
--- a/arch/arm/mach-exynos4/localtimer.c
+++ b/arch/arm/mach-exynos4/localtimer.c
@@ -14,13 +14,14 @@
 
 #include <asm/irq.h>
 #include <asm/localtimer.h>
+#include <asm/hardware/gic.h>
 
 /*
  * Setup the local clock events for a CPU.
  */
 int __cpuinit local_timer_setup(struct clock_event_device *evt)
 {
-	evt->irq = IRQ_LOCALTIMER;
+	evt->irq = gic_ppi_to_vppi(IRQ_LOCALTIMER);
 	twd_timer_setup(evt);
 	return 0;
 }
diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig
index e98f5c5..46aba74 100644
--- a/arch/arm/plat-s5p/Kconfig
+++ b/arch/arm/plat-s5p/Kconfig
@@ -11,6 +11,7 @@ config PLAT_S5P
 	default y
 	select ARM_VIC if !ARCH_EXYNOS4
 	select ARM_GIC if ARCH_EXYNOS4
+	select ARM_GIC_VPPI if ARCH_EXYNOS4
 	select NO_IOPORT
 	select ARCH_REQUIRE_GPIOLIB
 	select S3C_GPIO_TRACK
-- 
1.7.0.4

  parent reply	other threads:[~2011-06-03 14:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-03 14:15 [PATCH v6 00/14] Consolidating GIC per-cpu interrupts Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 01/14] ARM: gic: add per-cpu interrupt multiplexer Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 02/14] ARM: smp: add interrupt handler for local timers Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 03/14] ARM: smp_twd: add support for remapped PPI interrupts Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 04/14] ARM: omap4: use remapped PPI interrupts for local timer Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 05/14] ARM: versatile: " Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 06/14] ARM: shmobile: " Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 07/14] ARM: ux500: " Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 08/14] ARM: tegra: " Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 09/14] ARM: msm: " Marc Zyngier
2011-06-03 14:15 ` Marc Zyngier [this message]
2011-06-03 14:15 ` [PATCH v6 11/14] ARM: gic: remove previous local timer interrupt handling Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 12/14] ARM: gic: add compute_irqnr macro for exynos4 Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 13/14] ARM: SMP: automatically select ARM_GIC_VPPI Marc Zyngier
2011-06-03 14:15 ` [PATCH v6 14/14] ARM: exynos4: switch MCT to the full local timer infrastructure 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=1307110558-29710-11-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.