From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: Samsung: Move timer irq numbers to end of linux irq space
Date: Wed, 12 Oct 2011 11:10:41 -0500 [thread overview]
Message-ID: <4E95BC01.8090805@gmail.com> (raw)
In-Reply-To: <1318234289-22041-2-git-send-email-thomas.abraham@linaro.org>
On 10/10/2011 03:11 AM, Thomas Abraham wrote:
> All of Samsung's s5p platforms have timer irqs statically mapped from linux
> irq numbers 11 to 15. These timer irqs are moved to end of the statically
> mapped linux irq space and the hardware irqs, which were statically mapped
> starting from 32 is moved to start from 0. The NR_IRQS macro is consolidated
> for all the s5p platforms in this process.
>
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> ---
> arch/arm/mach-exynos4/include/mach/entry-macro.S | 1 -
> arch/arm/mach-exynos4/include/mach/irqs.h | 3 +--
> arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 +---
> arch/arm/mach-s5pc100/include/mach/irqs.h | 3 +--
> arch/arm/mach-s5pv210/include/mach/irqs.h | 3 +--
> arch/arm/plat-samsung/include/plat/irqs.h | 7 +++++--
> 6 files changed, 9 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 4c9adbd..5c4fbcc 100644
> --- a/arch/arm/mach-exynos4/include/mach/entry-macro.S
> +++ b/arch/arm/mach-exynos4/include/mach/entry-macro.S
> @@ -72,7 +72,6 @@
> cmpcc \irqnr, \irqnr
> cmpne \irqnr, \tmp
> cmpcs \irqnr, \irqnr
> - addne \irqnr, \irqnr, #32
With this change, can't you now use the common entry-macro-gic.S?
> .endm
>
> diff --git a/arch/arm/mach-exynos4/include/mach/irqs.h b/arch/arm/mach-exynos4/include/mach/irqs.h
> index dfd4b7e..43087c3 100644
> --- a/arch/arm/mach-exynos4/include/mach/irqs.h
> +++ b/arch/arm/mach-exynos4/include/mach/irqs.h
> @@ -163,7 +163,6 @@
> #define IRQ_GPIO2_NR_GROUPS 9
> #define IRQ_GPIO_END (S5P_GPIOINT_BASE + S5P_GPIOINT_COUNT)
>
> -/* Set the default NR_IRQS */
> -#define NR_IRQS (IRQ_GPIO_END + 64)
> +#define IRQ_TIMER_BASE (IRQ_GPIO_END + 64)
>
> #endif /* __ASM_ARCH_IRQS_H */
> diff --git a/arch/arm/mach-s5p64x0/include/mach/irqs.h b/arch/arm/mach-s5p64x0/include/mach/irqs.h
> index 53982db..bea73cc 100644
> --- a/arch/arm/mach-s5p64x0/include/mach/irqs.h
> +++ b/arch/arm/mach-s5p64x0/include/mach/irqs.h
> @@ -141,8 +141,6 @@
>
> #define IRQ_EINT_GROUP(grp, x) (IRQ_EINT_GROUP##grp##_BASE + (x))
>
> -/* Set the default NR_IRQS */
> -
> -#define NR_IRQS (IRQ_EINT_GROUP8_BASE + IRQ_EINT_GROUP8_NR + 1)
> +#define IRQ_TIMER_BASE (IRQ_EINT_GROUP8_BASE + IRQ_EINT_GROUP8_NR + 1)
>
> #endif /* __ASM_ARCH_IRQS_H */
> diff --git a/arch/arm/mach-s5pc100/include/mach/irqs.h b/arch/arm/mach-s5pc100/include/mach/irqs.h
> index d2eb475..3a9d300 100644
> --- a/arch/arm/mach-s5pc100/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pc100/include/mach/irqs.h
> @@ -104,8 +104,7 @@
> #define S5P_GPIOINT_BASE (IRQ_EINT(31) + 1)
> #define S5P_GPIOINT_GROUP_MAXNR 21
>
> -/* Set the default NR_IRQS */
> -#define NR_IRQS (IRQ_EINT(31) + S5P_GPIOINT_COUNT + 1)
> +#define IRQ_TIMER_BASE (IRQ_EINT(31) + S5P_GPIOINT_COUNT + 1)
>
> /* Compatibility */
> #define IRQ_LCD_FIFO IRQ_LCD0
> diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h
> index 5e0de3a..df3173a 100644
> --- a/arch/arm/mach-s5pv210/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h
> @@ -125,8 +125,7 @@
> #define S5P_GPIOINT_BASE (IRQ_EINT(31) + 1)
> #define S5P_GPIOINT_GROUP_MAXNR 22
>
> -/* Set the default NR_IRQS */
> -#define NR_IRQS (IRQ_EINT(31) + S5P_GPIOINT_COUNT + 1)
> +#define IRQ_TIMER_BASE (IRQ_EINT(31) + S5P_GPIOINT_COUNT + 1)
>
> /* Compatibility */
> #define IRQ_LCD_FIFO IRQ_LCD0
> diff --git a/arch/arm/plat-samsung/include/plat/irqs.h b/arch/arm/plat-samsung/include/plat/irqs.h
> index 08d1a7e..b8918b3 100644
> --- a/arch/arm/plat-samsung/include/plat/irqs.h
> +++ b/arch/arm/plat-samsung/include/plat/irqs.h
> @@ -22,7 +22,7 @@
> * mulitple of 32 to allow the common code to work
> */
>
> -#define S5P_IRQ_OFFSET (32)
> +#define S5P_IRQ_OFFSET (0)
Just remove this.
>
> #define S5P_IRQ(x) ((x) + S5P_IRQ_OFFSET)
>
> @@ -44,13 +44,14 @@
> #define S5P_IRQ_VIC2(x) (S5P_VIC2_BASE + (x))
> #define S5P_IRQ_VIC3(x) (S5P_VIC3_BASE + (x))
>
> -#define S5P_TIMER_IRQ(x) (11 + (x))
> +#define S5P_TIMER_IRQ(x) (IRQ_TIMER_BASE + (x))
>
> #define IRQ_TIMER0 S5P_TIMER_IRQ(0)
> #define IRQ_TIMER1 S5P_TIMER_IRQ(1)
> #define IRQ_TIMER2 S5P_TIMER_IRQ(2)
> #define IRQ_TIMER3 S5P_TIMER_IRQ(3)
> #define IRQ_TIMER4 S5P_TIMER_IRQ(4)
> +#define IRQ_TIMER_COUNT (5)
>
> #define IRQ_EINT(x) ((x) < 16 ? ((x) + S5P_EINT_BASE1) \
> : ((x) - 16 + S5P_EINT_BASE2))
> @@ -77,4 +78,6 @@
> #define S5P_IRQ_TYPE_EDGE_RISING (0x03)
> #define S5P_IRQ_TYPE_EDGE_BOTH (0x04)
>
> +#define NR_IRQS (IRQ_TIMER_BASE + IRQ_TIMER_COUNT)
> +
> #endif /* __PLAT_SAMSUNG_IRQS_H */
Really these timer irqs should be converted to irq domains and be
dynamically allocated in the linux irq space, but this is at least a
step in the right direction.
Rob
next prev parent reply other threads:[~2011-10-12 16:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-10 8:11 [PATCH 0/3] ARM: Samsung: Add device tree support for GIC and Interrupt Combiner Thomas Abraham
2011-10-10 8:11 ` [PATCH 1/3] ARM: Samsung: Move timer irq numbers to end of linux irq space Thomas Abraham
2011-10-12 16:10 ` Rob Herring [this message]
2011-10-12 16:29 ` Thomas Abraham
2011-10-13 0:41 ` Grant Likely
2011-10-18 8:10 ` Changhwan Youn
2011-10-21 9:56 ` Kukjin Kim
2011-10-21 19:45 ` Grant Likely
2011-10-24 8:09 ` Kukjin Kim
2011-10-21 16:54 ` Thomas Abraham
2011-10-10 8:11 ` [PATCH 2/3] ARM: Exynos4: Add ioremap interceptor for statically remapped regions Thomas Abraham
2011-10-12 16:13 ` Rob Herring
2011-10-12 16:30 ` Thomas Abraham
2011-10-13 3:28 ` Thomas Abraham
2011-10-13 3:29 ` Grant Likely
2011-10-13 18:52 ` Nicolas Pitre
2011-10-10 8:11 ` [PATCH 3/3] ARM: Exynos4: Add support for dt irq specifier to linux virq conversion Thomas Abraham
2011-10-13 0:54 ` Grant Likely
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=4E95BC01.8090805@gmail.com \
--to=robherring2@gmail.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).