linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 02/12] ARM: smp_twd: add support for remapped PPI interrupts
Date: Mon, 25 Apr 2011 10:04:17 -0700	[thread overview]
Message-ID: <4DB5A991.90002@codeaurora.org> (raw)
In-Reply-To: <1303326501-15664-3-git-send-email-marc.zyngier@arm.com>

On 4/20/2011 12:08 PM, Marc Zyngier wrote:
> diff --git a/arch/arm/include/asm/entry-macro-multi.S b/arch/arm/include/asm/entry-macro-multi.S
> index ec0bbf7..c599795 100644
> --- a/arch/arm/include/asm/entry-macro-multi.S
> +++ b/arch/arm/include/asm/entry-macro-multi.S
> @@ -24,7 +24,7 @@
>  	adrne	lr, BSYM(1b)
>  	bne	do_IPI
>  
> -#ifdef CONFIG_LOCAL_TIMERS
> +#if defined(CONFIG_LOCAL_TIMERS) && !defined(CONFIG_ARM_GIC_VPPI)
>  	test_for_ltirq r0, r6, r5, lr
>  	movne	r0, sp
>  	adrne	lr, BSYM(1b)
> diff --git a/arch/arm/include/asm/hardware/entry-macro-gic.S b/arch/arm/include/asm/hardware/entry-macro-gic.S
> index c115b82..14a3363 100644
> --- a/arch/arm/include/asm/hardware/entry-macro-gic.S
> +++ b/arch/arm/include/asm/hardware/entry-macro-gic.S
> @@ -17,23 +17,26 @@
>  	.endm
>  #endif
>  
> +#ifdef CONFIG_ARM_GIC_VPPI
> +#define DO_IRQ_BASE	16
> +#else
> +#define DO_IRQ_BASE	30
> +#endif
> +
>  /*
>   * The interrupt numbering scheme is defined in the
>   * interrupt controller spec.  To wit:
>   *
>   * Interrupts 0-15 are IPI
> - * 16-28 are reserved
> - * 29-31 are local.  We allow 30 to be used for the watchdog.
> + * 16-31 are local.  We allow 30 to be used for the watchdog.
>   * 32-1020 are global
>   * 1021-1022 are reserved
>   * 1023 is "spurious" (no interrupt)
>   *
> - * For now, we ignore all local interrupts so only return an interrupt if it's
> - * between 30 and 1020.  The test_for_ipi routine below will pick up on IPIs.
> - *
>   * A simple read from the controller will tell us the number of the highest
>   * priority enabled interrupt.  We then just need to check whether it is in the
> - * valid range for an IRQ (30-1020 inclusive).
> + * valid range for an IRQ (30-1020 inclusive). If CONFIG_ARM_GIC_VPPI is
> + * enabled, local interrupts are handled the same way as global ones.
>   */
>  
>  	.macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
> @@ -43,7 +46,7 @@
>  
>  	ldr	\tmp, =1021
>  	bic     \irqnr, \irqstat, #0x1c00
> -	cmp     \irqnr, #29
> +	cmp     \irqnr, #(DO_IRQ_BASE - 1)
>  	cmpcc	\irqnr, \irqnr
>  	cmpne	\irqnr, \tmp
>  	cmpcs	\irqnr, \irqnr
> @@ -63,6 +66,7 @@
>  	cmpcs	\irqnr, \irqnr
>  	.endm
>  
> +#ifndef CONFIG_ARM_GIC_VPPI
>  /* As above, this assumes that irqstat and base are preserved.. */
>  
>  	.macro test_for_ltirq, irqnr, irqstat, base, tmp
> @@ -73,3 +77,4 @@
>  	streq	\irqstat, [\base, #GIC_CPU_EOI]
>  	cmp	\tmp, #0
>  	.endm
> +#endif

I would expect these bits to be part of the first patch in this series
because they're necessary to actually use the CONFIG_ARM_GIC_VPPI
option. Can you move them to the first patch?

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  reply	other threads:[~2011-04-25 17:04 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

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=4DB5A991.90002@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --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).