devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Abraham <thomas.abraham@linaro.org>
To: Rob Herring <robherring2@gmail.com>
Cc: devicetree-discuss@lists.ozlabs.org,
	linux-samsung-soc@vger.kernel.org, grant.likely@secretlab.ca,
	kgene.kim@samsung.com, linux-arm-kernel@lists.infradead.org,
	patches@linaro.org
Subject: Re: [PATCH 1/3] ARM: Samsung: Move timer irq numbers to end of linux irq space
Date: Wed, 12 Oct 2011 21:59:00 +0530	[thread overview]
Message-ID: <CAJuYYwR3ncPygrYj-x4a5+axxp_zVFGmuWtmMDkwR9aVTGuL-Q@mail.gmail.com> (raw)
In-Reply-To: <4E95BC01.8090805@gmail.com>

On 12 October 2011 21:40, Rob Herring <robherring2@gmail.com> wrote:
> 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?


The get_irqnr_preamble macro is quite different from that in
entry-macro-gic.S file. Maybe it is possible to use the common
entry-macro-gic.S file with some rework of exynos machine code.


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

Ok.

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

Ok.

Thanks for your comments.

Regards,
Thomas.

>
> Rob
>

  reply	other threads:[~2011-10-12 16:29 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
2011-10-12 16:29     ` Thomas Abraham [this message]
     [not found]     ` <4E95BC01.8090805-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
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
     [not found]   ` <1318234289-22041-4-git-send-email-thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
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=CAJuYYwR3ncPygrYj-x4a5+axxp_zVFGmuWtmMDkwR9aVTGuL-Q@mail.gmail.com \
    --to=thomas.abraham@linaro.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=robherring2@gmail.com \
    /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).